blob: cbf1963cf4544bed3c599ac94e6e0d29f7c2c007 [file] [log] [blame]
/* Copyright (c) 2004-2005 Nokia. All rights reserved. */
/* The PerlApp application is licensed under the same terms as Perl itself. */
#ifndef __PerlApp_h__
#define __PerlApp_h__
#include "PerlUi.h"
/* The source code can be compiled into "PerlApp" which is the simple
* launchpad application/demonstrator, or into "PerlAppMinimal", which
* is the minimal Perl launchpad application. Define the cpp symbols
* CreatePerlAppMinimal (a boolean), PerlAppMinimalUid (the Symbian
* application uid in the 0x... format), and PerlAppMinimalName (a C
* wide string, with the L prefix) to compile as "PerlAppMinimal". */
// #define CreatePerlAppMinimal
#ifdef CreatePerlAppMinimal
# define PerlAppMinimal
# ifndef PerlAppMinimalUid // PerlApp is ...F6, PerlRecog is ...F7
# define PerlAppMinimalUid 0x102015F8
# endif
# ifndef PerlAppMinimalName
# define PerlAppMinimalName L"PerlAppMinimal"
# endif
#endif
#ifdef PerlAppMinimal
# ifndef PerlAppMinimalUid
# error PerlAppMinimal defined but PerlAppMinimalUid undefined
# endif
# ifndef PerlAppMinimalName
# error PerlAppMinimal defined but PerlAppMinimalName undefined
# endif
#endif
class CPerlAppDocument : public CgPerlUiDocument
{
public:
CPerlAppDocument(CEikApplication& aApp) : CgPerlUiDocument(aApp) {;}
#ifndef PerlAppMinimal
CFileStore* OpenFileL(TBool aDoOpen, const TDesC& aFilename, RFs& aFs);
#endif // #ifndef PerlAppMinimal
private: // from CEikDocument
CEikAppUi* CreateAppUiL();
};
class CPerlAppApplication : public CPerlUiApplication
{
private:
CApaDocument* CreateDocumentL();
TUid AppDllUid() const;
};
class CPerlAppAppView;
class CPerlAppAppUi : public CPerlUiAppUi
{
public:
TBool ProcessCommandParametersL(TApaCommand aCommand, TFileName& aDocumentName, const TDesC8& aTail);
void DoHandleCommandL(TInt aCommand);
#ifndef PerlAppMinimal
void OpenFileL(const TDesC& aFileName);
void InstallOrRunL(const TFileName& aFileName);
void SetFs(const RFs& aFs);
#endif // #ifndef PerlAppMinimal
~CPerlAppAppUi();
private:
RFs* iFs;
};
class CPerlAppAppView : public CPerlUiAppView
{
public:
#if defined(__SERIES80__) || defined(__SERIES90__) || defined(__UIQ__)
void HandleCommandL(TInt aCommand);
#endif /* #if defined(__SERIES80__) || defined(__SERIES90__) || defined(__UIQ__) */
};
#endif // __PerlApp_h__