S_del_body is sufficiently small that inlining it is a space win.
[p5sagit/p5-mst-13.2.git] / symbian / PerlApp.h
CommitLineData
27da23d5 1/* Copyright (c) 2004-2005 Nokia. All rights reserved. */
2
3/* The PerlApp application is licensed under the same terms as Perl itself. */
4
5#ifndef __PerlApp_h__
6#define __PerlApp_h__
7
8#include <aknapp.h>
9#include <aknappui.h>
10#include <akndoc.h>
11#include <coecntrl.h>
12#include <f32file.h>
13
14class CPerlAppDocument : public CAknDocument
15{
16 public:
17 CPerlAppDocument(CEikApplication& aApp):CAknDocument(aApp) {;}
18 CFileStore* OpenFileL(TBool aDoOpen, const TDesC& aFilename, RFs& aFs);
19 private: // from CEikDocument
20 CEikAppUi* CreateAppUiL();
21};
22
23class CPerlAppApplication : public CAknApplication
24{
25 private:
26 CApaDocument* CreateDocumentL();
27 TUid AppDllUid() const;
28};
29
30const TUint KPerlAppOneLinerSize = 80;
31
32class CPerlAppView;
33
34class CPerlAppUi : public CAknAppUi
35{
36 public:
37 void ConstructL();
38 ~CPerlAppUi();
39 void HandleCommandL(TInt aCommand);
40 void OpenFileL(const TDesC& aFileName);
41 TBool ProcessCommandParametersL(TApaCommand aCommand, TFileName& aDocumentName, const TDesC8& aTail);
42 void InstallOrRunL(const TFileName& aFileName);
43 void SetFs(const RFs& aFs);
44 private:
45 CPerlAppView* iAppView;
46 RFs* iFs;
47 TBuf<KPerlAppOneLinerSize> iOneLiner;
48};
49
50class CPerlAppView : public CCoeControl
51{
52 public:
53 static CPerlAppView* NewL(const TRect& aRect);
54 static CPerlAppView* NewLC(const TRect& aRect);
55 void Draw(const TRect& aRect) const;
56 private:
57 void ConstructL(const TRect& aRect);
58};
59
60#endif // __PerlApp_h__