epoc-appfocus.hpp

Go to the documentation of this file.
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