2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
19 * @file FApp_AppControlRegistry.h
20 * @brief This is the header file of the _AppControlRegistry class.
23 #ifndef _FAPP_INTERNAL_APP_CONTROL_REGISTRY_H_
24 #define _FAPP_INTERNAL_APP_CONTROL_REGISTRY_H_
28 #include <FBaseObject.h>
29 #include <FBaseColArrayListT.h>
30 #include <FBaseColHashMapT.h>
31 #include <FBaseColMultiHashMapT.h>
32 #include <FAppTypes.h>
34 namespace Tizen { namespace App
41 void operator()(bundle* pBundle)
51 * @class _AppControlRegistry
52 * @brief load & store AppControl information
55 class _AppControlRegistry
56 : public Tizen::Base::Object
59 class _AppControlAliasEntry
62 _AppControlAliasEntry(const Tizen::Base::String& aId1,
63 const Tizen::Base::String& oId1,
64 const Tizen::Base::String& aId2,
65 const Tizen::Base::String& oId2)
73 const Tizen::Base::String provider;
74 const Tizen::Base::String operation;
75 const Tizen::Base::String provider2;
76 const Tizen::Base::String operation2;
79 typedef Tizen::Base::Collection::ArrayListT<_AppControlAliasEntry*> RuntimeAliasType;
80 typedef Tizen::Base::Collection::MultiHashMapT<Tizen::Base::String, _AppControlAliasEntry*> AppControlAliasList;
81 typedef Tizen::Base::Collection::HashMapT<Tizen::Base::String, Tizen::Base::String> AliasMapType;
83 _AppControlRegistry(void);
85 virtual ~_AppControlRegistry(void);
87 static _AppControlRegistry* GetInstance(void);
89 AppControl* GetTizenAppControlN(const Tizen::Base::String& aId, const Tizen::Base::String& oId);
91 AppControl* GetAppControlN(const Tizen::Base::String& appId, const Tizen::Base::String& operationId) const;
93 Tizen::Base::Collection::ArrayList* FindAppControlListN(const Tizen::Base::String* pOid, const Tizen::Base::String* pUri, const Tizen::Base::String* pMimeType, const Tizen::Base::String* pCategory) const;
95 const _AppControlAliasEntry* GetAppControlAliasEntry(const Tizen::Base::String& aId, const Tizen::Base::String& oId) const;
97 const _AppControlAliasEntry* GetReverseAppControlAliasEntry(const Tizen::Base::String& aId, const Tizen::Base::String& oId) const;
99 const _AppControlAliasEntry* GetReverseRuntimeAliasEntry(const Tizen::Base::String& aId, const Tizen::Base::String& oId) const;
101 AppId GetAliasAppId(const AppId& appId) const;
103 AppId GetReverseAliasAppId(const AppId& appId) const;
106 _AppControlRegistry(const _AppControlRegistry& rhs);
108 _AppControlRegistry& operator =(const _AppControlRegistry& rhs);
110 result LoadTizenAppControlRegistry(void);
112 result LoadLegacyList(void);
114 result LoadAliasList(void);
116 Tizen::Base::String GetTizenAppControlProvider(const Tizen::Base::String& appId, const Tizen::Base::String& opId) const;
119 AliasMapType __tizenList;
121 AppControlAliasList __aliasList;
123 AliasMapType __aliasAppId;
125 RuntimeAliasType __runtimeAlias;
127 static _AppControlRegistry* __pSelf;
128 }; // _AppControlRegistry
132 #endif // _FAPP_INTERNAL_APP_CONTROL_REGISTRY_H_