2 // Open Service Platform
3 // Copyright (c) 2012-2013 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.
18 * @file FTel_SimStateManagerImpl.h
19 * @brief This is the header file for the %_SimStateManagerImpl class.
21 * This header file contains the declarations of the %_SimStateManagerImpl class.
24 #ifndef _FTEL_INTERNAL_SIM_STATE_MANAGER_IMPL_H_
25 #define _FTEL_INTERNAL_SIM_STATE_MANAGER_IMPL_H_
28 #include <unique_ptr.h>
29 #include <net_connection.h>
30 #include <tapi_type.h>
32 #include <FBaseObject.h>
33 #include <FTelSimInfo.h>
34 #include <FTelSimStateManager.h>
35 #include <FTelTypes.h>
38 namespace Tizen { namespace Base
43 namespace Tizen { namespace Telephony
45 class SimStateManager;
47 class _SimManagerEvent;
48 class ITelephonySimEventListener;
49 class ISimStateManagerGetPinLockSettingResultListener;
50 //class _TelephonyIpcProxy;
53 class _SimStateManagerImpl
54 : public Tizen::Base::Object
58 * This is the default constructor for this class.
62 _SimStateManagerImpl(void);
65 * This is the destructor for this class.
69 virtual ~_SimStateManagerImpl(void);
72 * @see SimStateManager::Construct()
74 result Construct(void);
77 * @see SimStateManager::SetSimEventListener()
79 result SetSimEventListener(ITelephonySimEventListener *pListener);
81 result SetSimStateManagerGetPinLockSettingResultListener(ISimStateManagerGetPinLockSettingResultListener *pListener);
84 * @see SimStateManager::GetSimInfo()
86 result GetSimInfo(SimInfo& simInfo) const;
89 * @see SimStateManager::GetSimState()
91 SimState GetSimState(void) const;
94 * @see SimStateManager::GetPinLockSetting()
96 result GetPinLockSetting(ISimStateManagerGetPinLockSettingResultListener* pListener);
99 * Gets the Impl instance.
102 * @return The pointer to _SimStateManagerImpl
103 * @param[in] simStateManager An instance of SimStateManager
105 static _SimStateManagerImpl* GetInstance(SimStateManager& simStateManager);
108 * Gets the Impl instance.
111 * @return The pointer to _SimStateManagerImpl
112 * @param[in] simStateManager An instance of SimStateManager
114 static const _SimStateManagerImpl* GetInstance(const SimStateManager& simStateManager);
116 static void OnSimStateChangedCallback(TapiHandle* pHandle, const char* pNotiId, void* pData, void* pUserData);
117 static void OnGetPinLockSettingCallback(TapiHandle* pHandle, int ret, void* pData, void* pUserData);
121 // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
123 // @param[in] rhs An instance of %_SimStateManagerImpl
125 _SimStateManagerImpl(const _SimStateManagerImpl& rhs);
128 // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
130 // @param[in] rhs An instance of %_SimStateManagerImpl
132 _SimStateManagerImpl& operator =(const _SimStateManagerImpl& rhs);
135 TapiHandle* __pHandle;
139 std::unique_ptr<_SimEvent> __pSimEvent;
140 std::unique_ptr<_SimManagerEvent> __pSimManagerEvent;
142 ITelephonySimEventListener* __pSimEventListener;
143 ISimStateManagerGetPinLockSettingResultListener* __pSimStateManagerGetPinLockSettingResultListener;
145 }; // _SimStateManagerImpl
147 }} // Tizen::Telephony
149 #endif // _FTEL_INTERNAL_SIM_STATE_MANAGER_IMPL_H_