/* * GPAC - Multimedia Framework C SDK * * Authors: Jean Le Feuvre * Copyright (c) Telecom ParisTech 2006-2012 * All rights reserved * * This file is part of GPAC / Symbian GUI player * * GPAC is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GPAC is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; see the file COPYING. If not, write to * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. * */ #ifndef __OSMO4_VIEW_H__ #define __OSMO4_VIEW_H__ // INCLUDES #include <coecntrl.h> #if defined(__SERIES60_3X__) #include <remconcoreapitargetobserver.h> #include <remconcoreapitarget.h> #include <remconinterfaceselector.h> #endif #include <gpac/terminal.h> #include <gpac/thread.h> // CLASS DECLARATION class COsmo4AppView : public CCoeControl #if defined(__SERIES60_3X__) ,MRemConCoreApiTargetObserver #endif { public: // New methods /** * NewL. * Two-phased constructor. * Create a COsmo4AppView object, which will draw itself to aRect. * @param aRect The rectangle this view will be drawn to. * @return a pointer to the created instance of COsmo4AppView. */ static COsmo4AppView* NewL( const TRect& aRect ); /** * NewLC. * Two-phased constructor. * Create a COsmo4AppView object, which will draw itself * to aRect. * @param aRect Rectangle this view will be drawn to. * @return A pointer to the created instance of COsmo4AppView. */ static COsmo4AppView* NewLC( const TRect& aRect ); /** * ~COsmo4AppView * Virtual Destructor. */ virtual ~COsmo4AppView(); public: // Functions from base classes /** * From CCoeControl, Draw * Draw this COsmo4AppView to the screen. * @param aRect the rectangle of this view that needs updating */ void Draw( const TRect& aRect ) const; /** * From CoeControl, SizeChanged. * Called by framework when the view size is changed. */ virtual void SizeChanged(); #ifndef GPAC_GUI_ONLY GF_User *GetUser() { return &m_user; } #else GF_User *GetUser() { return NULL; } #endif void SetupLogs(); void MessageBox(const char *text, const char *title); virtual TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType); #if defined(__SERIES60_3X__) void MrccatoCommand(TRemConCoreApiOperationId aOperationId, TRemConCoreApiButtonAction aButtonAct); #endif TInt OnTick(); void Shutdown(); void Connect(const char *url); void ShowHide(Bool show); Bool EventProc(GF_Event *evt); #ifndef GPAC_GUI_ONLY GF_Terminal *m_term; #endif private: // Constructors /** * ConstructL * 2nd phase constructor. * Perform the second phase construction of a * COsmo4AppView object. * @param aRect The rectangle this view will be drawn to. */ void ConstructL(const TRect& aRect); void DisplayRTI(); /** * COsmo4AppView. * C++ default constructor. */ COsmo4AppView(); CPeriodic *m_pTimer; RWindow m_window; RWsSession m_session; #ifndef GPAC_GUI_ONLY GF_SystemRTInfo m_rti; #endif #if defined(__SERIES60_3X__) CRemConInterfaceSelector *selector; CRemConCoreApiTarget *target; #endif public: u32 last_title_update; FILE *m_Logs; Bool do_log; Bool show_rti; #ifndef GPAC_GUI_ONLY GF_Mutex *m_mx; GF_User m_user; #endif }; #endif // __OSMO4_VIEW_H__ // End of File