d706fe35d8f111ab82573497c8904b12e63f1757
[framework/web/wrt-commons.git] / modules / vcore / src / vcore / WacOrigin.h
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *    Licensed under the Apache License, Version 2.0 (the "License");
5  *    you may not use this file except in compliance with the License.
6  *    You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *    Unless required by applicable law or agreed to in writing, software
11  *    distributed under the License is distributed on an "AS IS" BASIS,
12  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *    See the License for the specific language governing permissions and
14  *    limitations under the License.
15  */
16 /*
17  * @file
18  * @author      Bartlomiej Grzelewski (b.grzelewski@samsung.com)
19  * @version     1.0
20  * @brief       This is stub for HTML5Origin implementation.
21  *              This implementation is compatible with WAC 2.0 PRV requirements
22  *              and is _not_ full compatible with ORIGIN algorithm requirements
23  *              defined in http://www.w3.org/TR/html5/origin-0.html#origin-0
24  */
25 #ifndef _WRT_ENGINE_SRC_INSTALLER_CORE_VALIDATION_CORE_HTML5ORIGIN_H_
26 #define _WRT_ENGINE_SRC_INSTALLER_CORE_VALIDATION_CORE_HTML5ORIGIN_H_
27
28 #include <string>
29
30 namespace ValidationCore {
31 class WacOrigin
32 {
33   public:
34
35     WacOrigin(const std::string &url);
36     WacOrigin(const char *url);
37
38     bool operator!=(const WacOrigin &second) const
39     {
40         return !(operator==(second));
41     }
42
43     bool operator==(const WacOrigin &second) const;
44
45   private:
46     void parse(const char *url);
47     void setPort();
48
49     std::string m_scheme;
50     std::string m_host;
51     int m_port;
52     bool m_parseFailed; // if parsing failed we should return unique identifier
53 };
54 } //namespace ValidationCore
55
56 #endif // _WRT_ENGINE_SRC_INSTALLER_CORE_VALIDATION_CORE_HTML5ORIGIN_H_