2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
8 // http://www.apache.org/licenses/LICENSE-2.0
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.
18 * @file FApp_ActiveWindowManager.h
19 * @brief This is the header file of the %_ActiveWindowManager class.
21 * This header file contains the declarations of the %_ActiveWindowManager class.
24 #ifndef _FAPP_INTERNAL_ACTIVE_WINDOW_MANAGER_H_
25 #define _FAPP_INTERNAL_ACTIVE_WINDOW_MANAGER_H_
27 #include <FOspConfig.h>
28 #include <FBaseColLinkedListT.h>
33 namespace Tizen { namespace Base
42 namespace Tizen { namespace App
45 class _IActiveAppEventListener;
48 * @class _ActiveWindowManager
51 class _OSP_LOCAL_ _ActiveWindowManager
54 _ActiveWindowManager(void);
56 ~_ActiveWindowManager(void);
58 result AddActiveAppEventListener(IActiveAppEventListener& listener);
60 result RemoveActiveAppEventListener(IActiveAppEventListener& listener);
62 result GetActiveApp(AppId& appId);
65 Tizen::Base::Runtime::_LibraryImpl& GetEcoreXLibraryImpl(void);
67 Tizen::Base::Runtime::_LibraryImpl& GetEcoreLibraryImpl(void);
69 Tizen::Base::Runtime::_LibraryImpl& GetX11LibraryImpl(void);
71 static Eina_Bool OnPropertyChanged(void* pData, int type, void* pEvent);
73 void FireActiveAppEvent(unsigned int xid, int pid, const char* pAppName);
75 unsigned int GetActiveWindow(void);
77 int GetProcessId(unsigned int window);
80 * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
82 _ActiveWindowManager(const _ActiveWindowManager& rhs);
85 * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
87 _ActiveWindowManager& operator=(const _ActiveWindowManager& rhs);
90 Tizen::Base::Runtime::_LibraryImpl* __pX11Library;
91 Tizen::Base::Runtime::_LibraryImpl* __pEcoreXLibrary;
92 Tizen::Base::Runtime::_LibraryImpl* __pEcoreLibrary;
94 Tizen::Base::Collection::LinkedListT<IActiveAppEventListener*> __activeAppEventListenerList;
99 #endif //_FAPP_INTERNAL_ACTIVE_WINDOW_MANAGER_H_