class ConfigParserData
{
public:
- struct Param
- {
- Param(const DPL::String& _name) : name(_name)
- {}
- DPL::String name;
- DPL::String value;
- bool operator==(const Param&) const;
- bool operator!=(const Param&) const;
- bool operator >(const Param&) const;
- bool operator>=(const Param&) const;
- bool operator <(const Param&) const;
- bool operator<=(const Param&) const;
- };
- typedef std::set<Param> ParamsList;
-
struct Feature
{
- Feature(const DPL::String& _name,
- bool _required = true) : name(_name),
- required(_required)
+ Feature(const DPL::String& _name) : name(_name)
{}
DPL::String name;
- bool required;
- ParamsList paramsList;
bool operator==(const Feature&) const;
bool operator!=(const Feature&) const;
typedef std::set<Setting> SettingsList;
- /* ServiceInfo will be removed.
- * ServiceInfo will be changed AppControl
- */
- struct ServiceInfo
+ struct AppControlInfo
{
enum class Disposition {
WINDOW = 0,
INLINE
};
- ServiceInfo(
- const DPL::String& src,
- const DPL::String& operation,
- const DPL::String& scheme,
- const DPL::String& mime,
- const Disposition dispos) :
- m_src(src),
+ AppControlInfo(const DPL::String& operation) :
m_operation(operation),
- m_scheme(scheme),
- m_mime(mime),
- m_disposition(dispos)
- {}
- DPL::String m_src;
- DPL::String m_operation;
- DPL::String m_scheme;
- DPL::String m_mime;
- Disposition m_disposition;
-
- bool operator==(const ServiceInfo&) const;
- bool operator!=(const ServiceInfo&) const;
- };
-
- struct AppControlInfo
- {
- AppControlInfo(
- const DPL::String& operation) :
- m_operation(operation)
+ m_index(0)
{}
DPL::String m_src;
DPL::String m_operation;
std::set <DPL::String> m_uriList;
std::set <DPL::String> m_mimeList;
+ Disposition m_disposition;
+ unsigned m_index;
bool operator==(const AppControlInfo&) const;
bool operator!=(const AppControlInfo&) const;
};
- typedef std::list<ServiceInfo> ServiceInfoList; // It will be removed.
typedef std::list<AppControlInfo> AppControlInfoList;
typedef std::list<std::pair<DPL::String, DPL::String> > BoxSizeList;
{
DPL::String m_boxSrc;
DPL::String m_boxMouseEvent;
+ DPL::String m_boxTouchEffect;
BoxSizeList m_boxSize;
DPL::String m_pdSrc;
DPL::String m_pdWidth;
DPL::String m_pdHeight;
+ DPL::String m_pdFastOpen;
};
typedef BoxContent BoxContentInfo;
bool operator<=(const LiveboxInfo&) const;
};
typedef std::list<DPL::Optional<LiveboxInfo> > LiveboxList;
- LiveboxList m_livebox;
- typedef std::list<DPL::OptionalString> DependsPkgList;
+ enum IconSectionType
+ {
+ DefaultIcon =0,
+ SmallIcon
+ };
+
+ typedef std::set<std::pair<IconSectionType, DPL::String>> IconSet;
+ typedef std::list<DPL::String> CapabilityList;
+ typedef std::set<std::pair<DPL::String, DPL::String>> DisplayNameSet;
+
+ struct AccountProvider
+ {
+ AccountProvider() :
+ m_multiAccountSupport(false)
+ { }
+
+ bool m_multiAccountSupport;
+ IconSet m_iconSet;
+ DisplayNameSet m_displayNameSet;
+ CapabilityList m_capabilityList;
+ };
+ typedef std::list<DPL::OptionalString> DependsPkgList;
typedef std::set<DPL::String> CategoryList;
+ struct AllowNavigationInfo
+ {
+ AllowNavigationInfo(DPL::String scheme,
+ DPL::String host) :
+ m_scheme(scheme),
+ m_host(host)
+ { }
+ DPL::String m_scheme;
+ DPL::String m_host;
+ };
+ typedef std::list<AllowNavigationInfo> AllowNavigationInfoList;
+
+ struct Metadata
+ {
+ Metadata(const DPL::String& _key,
+ const DPL::String& _value) :
+ key(_key),
+ value(_value)
+ {}
+ DPL::String key;
+ DPL::String value;
+
+ bool operator==(const Metadata&) const;
+ bool operator!=(const Metadata&) const;
+ };
+ typedef std::list<Metadata> MetadataList;
+
+ enum class SecurityModelVersion {
+ SECURITY_MODEL_V1 = 0, // WARP
+ SECURITY_MODEL_V2 // CSP, allow-navigation
+ };
+
+ LiveboxList m_livebox;
StringsList nameSpaces;
LocalizedDataSet localizedDataSet;
DPL::OptionalString tizenPkgId;
DPL::OptionalString tizenAppId;
+ // allow-navigation
+ AllowNavigationInfoList allowNavigationInfoList;
+
//csp polic for widget
DPL::OptionalString cspPolicy;
+ DPL::OptionalString cspPolicyReportOnly;
- //Application service model list
- ServiceInfoList appServiceList; //It will be removed.
+ //AppControl model list
AppControlInfoList appControlList;
// For link shared directory
DPL::OptionalString backgroundPage;
// For category
CategoryList categoryList;
+ // For Account
+ AccountProvider accountProvider;
+ // security model version
+ SecurityModelVersion securityModelVersion;
+ // security model version
+ MetadataList metadataList;
ConfigParserData() :
flashNeeded(false),
minVersionRequired(),
backSupported(false),
accessNetwork(false),
- startFileEncountered(false)
+ startFileEncountered(false),
+ securityModelVersion(SecurityModelVersion::SECURITY_MODEL_V1)
{}
};
} // namespace WrtDB