Update privilege string, PackageAppInfo for wgt
[platform/framework/native/appfw.git] / src / app / FApp_DataControlProviderManagerImpl.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
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
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
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.
16 //
17
18 /**
19  * @file        FApp_DataControlProviderManagerImpl.h
20  * @brief       This is the header file for the %_DataControlProviderManagerImpl class.
21  *
22  * This header file contains the declarations of the %_DataControlProviderManagerImpl class.
23  */
24
25 #ifndef _FAPP_INTERNAL_DATACONTROL_PROVIDERMANAGER_IMPL_H_
26 #define _FAPP_INTERNAL_DATACONTROL_PROVIDERMANAGER_IMPL_H_
27
28 #include <FOspConfig.h>
29 #include <FBaseObject.h>
30 #include <FBaseDataType.h>
31 #include <FBaseColIList.h>
32
33 #include "FApp_AppArg.h"
34
35 namespace Tizen { namespace Base
36 {
37 class String;
38 class ByteBuffer;
39 }}
40 namespace Tizen { namespace Io
41 {
42 class DataControlResultSet;
43 }}
44
45 namespace Tizen { namespace App
46 {
47
48 class DataControlProviderManager;
49
50 /**
51  * @class       _DataControlProviderManagerImpl
52  * @brief       This class manages all the data controls.
53  * @since 2.1
54  *
55  * The %_DataControlProviderManagerImpl class manages all the data controls.
56  */
57 class _DataControlProviderManagerImpl
58         : public Tizen::Base::Object
59 {
60
61 public:
62         result SetSqlDataControlProviderEventListener(ISqlDataControlProviderEventListener* pListener);
63
64         result SetMapDataControlProviderEventListener(IMapDataControlProviderEventListener* pListener);
65
66         result SendSqlDataControlSelectResult(RequestId reqId, Tizen::Io::IDbEnumerator* pDbEnum);
67
68         result SendSqlDataControlInsertResult(RequestId reqId, long long insertRowId);
69
70         result SendSqlDataControlUpdateDeleteResult(RequestId reqId);
71
72         result SendMapDataControlResult(RequestId reqId, Tizen::Base::Collection::IList* pResultValueList);
73
74         result SendDataControlError(RequestId reqId, const Tizen::Base::String& errorMsg);
75
76         /**
77         * Retrieves the data control provider manager instance.
78         *
79         * @since 2.1
80         * @return       A pointer to the DataControlProviderManager instance if it succeeded.
81         *                       else @c null
82         */
83         static DataControlProviderManager* GetInstance(void);
84
85 private:
86         /**
87         * This is the default constructor for this class.
88         *
89         * @since 2.1
90         */
91         _DataControlProviderManagerImpl(void);
92
93         /**
94         * This is the destructor for this class.
95         *
96         * @since 2.1
97         */
98         virtual ~_DataControlProviderManagerImpl(void);
99
100         /**
101         * This is the default copy constructor for this class.
102         */
103         _DataControlProviderManagerImpl(const _DataControlProviderManagerImpl& source);
104
105         /**
106         * This is the assignment operator for this class.
107         */
108         _DataControlProviderManagerImpl& operator =(const _DataControlProviderManagerImpl& source);
109
110         static result SendDataControlResult(RequestId reqId, _DataControlRequestType apiType,
111                         Tizen::Io::IDbEnumerator* pDbEnum, Tizen::Base::Collection::IList* pResultValueList, long long insertRowId,
112             bool providerResult, const Tizen::Base::String* pErrorMsg);
113
114         friend class DataControlProviderManager;
115 };
116
117 }} // Tizen::App
118
119 #endif // _FAPP_INTERNAL_DATACONTROL_PROVIDERMANAGER_IMPL_H_
120