00001 /* 00002 !concept {:name => "Tracking application focus on Symbian", 00003 :desc => "Keeping track of which application has the focus."} 00004 */ 00005 00006 #ifndef __epoc_appfocus_hpp__ 00007 #define __epoc_appfocus_hpp__ 00008 00009 #include "application_config.h" 00010 00011 #if __APPFOCUS_ENABLED__ 00012 00013 #include "epoc-ao-gerror.hpp" 00014 #include "ld_log_db.h" 00015 #include "utils_cl2.h" 00016 00017 #include <e32std.h> 00018 #include <w32std.h> // link against: ws32.lib 00019 00020 #include <glib.h> 00021 00022 class CMyWindowGroup; 00023 00024 NONSHARABLE_CLASS(CSensor_appfocus) : 00025 public CActiveRunG 00026 { 00027 public: 00028 00029 static CSensor_appfocus* NewL(LogDb* aLogDb); 00030 00031 virtual ~CSensor_appfocus(); 00032 00033 gboolean StartL(GError** error); 00034 00035 void Stop(); 00036 00037 private: 00038 00039 CSensor_appfocus(LogDb* aLogDb); 00040 00041 void ConstructL(); 00042 00043 private: 00044 00045 // Makes the next observing request. 00046 void MakeRequest(); 00047 00048 virtual gboolean RunGL(GError** error); 00049 00050 virtual const char* Description(); 00051 00052 virtual void DoCancel(); 00053 00054 private: 00055 00056 LogDb* iLogDb; // not owned 00057 00058 TBool iFocusChangeEventsEnabled; 00059 00060 CMyWindowGroup* iMyWindowGroup; 00061 00062 DEF_SESSION(RWsSession, iWsSession); 00063 00064 }; 00065 00066 #endif // __APPFOCUS_ENABLED__ 00067 00068 #endif /* __epoc_appfocus_hpp__ */ 00069 00070 /** 00071 00072 epoc-appfocus.hpp 00073 00074 Copyright 2009 Helsinki Institute for Information Technology (HIIT) 00075 and the authors. All rights reserved. 00076 00077 Authors: Tero Hasu <tero.hasu@hut.fi> 00078 00079 Permission is hereby granted, free of charge, to any person 00080 obtaining a copy of this software and associated documentation files 00081 (the "Software"), to deal in the Software without restriction, 00082 including without limitation the rights to use, copy, modify, merge, 00083 publish, distribute, sublicense, and/or sell copies of the Software, 00084 and to permit persons to whom the Software is furnished to do so, 00085 subject to the following conditions: 00086 00087 The above copyright notice and this permission notice shall be 00088 included in all copies or substantial portions of the Software. 00089 00090 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 00091 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00092 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 00093 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 00094 BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 00095 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 00096 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 00097 SOFTWARE. 00098 00099 **/
ContextLogger2—ContextLogger2 Logger Daemon Internals—Generated on Mon May 2 13:49:52 2011 by Doxygen 1.6.1