📄 remotecam.h
字号:
/*
RemoteCam.H - header file for RemoteCam application Averell
C++ implementation
*/
#if !defined __REMOTECAM_H__
#define __REMOTECAM_H__
// INCLUDES
#if !defined(__AKNVIEW_H__)
#include <aknview.h> // for CAknView, CAknViewAppUi
#endif
#if !defined(__MSVAPI_H__)
#include <msvapi.h> // for MMsvSessionObserver
#endif
#if !defined(__EIKDOC_H__)
#include <eikdoc.h> // for CEikDocument
#endif
#if !defined(__EIKAPP_H__)
#include <eikapp.h> // for CEikApplication
#endif
#if !defined(__MDAIMAGECONVERTER_H__)
#include <MdaImageConverter.h> // for MMdaImageUtilObserver
#endif
// CONSTANTS
// FORWARD DECLARATIONS
class CFbsBitmap;
class CBaseMtm;
class CClientMtmRegistry;
class CMsvSession;
class CRemoteCamFormView;
// CLASS DEFINITIONS
//
// CRemoteCamContainer
//
class CRemoteCamContainer : public CCoeControl
{
public:
~CRemoteCamContainer();
void ConstructL(CRemoteCamFormView& aFormView);
CFbsBitmap* GetBmp();
CFbsBitmap* GetBmpForSaving();
private:
void ConstructContainerControlL(); // Construct the container control
void Draw(const TRect& aRect) const; // Method for drawing the control area
public:
TBool iImageReady;
private:
CFbsBitmap* iBmp;
CRemoteCamFormView* iFormView; // handle to the FormView object owning this container
};
//
// CRemoteCamFormView
//
class CRemoteCamFormView : public CAknView, public MMdaImageUtilObserver // image util is used to save or open images in asunc. calls
{
enum TRemoteCamImageQuality
{
ERCHigh,
ERCLow
};
public:
void ConstructL();
~CRemoteCamFormView();
public:
TUid Id() const;
void TurnCameraOnL();
void TurnCameraOffL();
void TakePreviewL();
void TakePictureL(TRemoteCamImageQuality aQuality = ERCHigh); // default image quality = High
void SaveImageL();
public: // from MMdaImageUtilObserver
virtual void MiuoOpenComplete(TInt aError);
virtual void MiuoConvertComplete(TInt aError);
virtual void MiuoCreateComplete(TInt aError);
private:
void DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/);
void DoDeactivate();
private:
RCameraServ* iCamserv; // client to the camera server
CRemoteCamContainer* iContainer;
TInt iCurrentImage;
TBool iSavingImage; // flag that tells when saving is taking place
CMdaImageBitmapToFileUtility* iFileSaver; // Saves an image to a file
TMdaJfifClipFormat* iFormat; // for saving
};
//
// CRemoteCamAppUi
//
class CRemoteCamAppUi : public CAknViewAppUi, public MMsvSessionObserver
{
public:
void ConstructL();
~CRemoteCamAppUi();
public:
TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
protected: // from CEikAppui
void HandleCommandL(TInt aCommand);
private: // from MMsvSessionObserver
void HandleSessionEventL(TMsvSessionEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* aArg3);
private:
void CompleteConstructL();
private:
CMsvSession* iSession; // msg server session
CBaseMtm* iMtm; // Client MTM
CClientMtmRegistry* iMtmReg; // Client MTM registry
};
//
// CRemoteCamDocument
//
class CRemoteCamDocument : public CEikDocument
{
public:
CRemoteCamDocument(CEikApplication& aApp);
protected:
CEikAppUi* CreateAppUiL();
};
//
// CRemoteCamApplication
//
class CRemoteCamApplication : public CEikApplication
{
private: //From CEikApplication
CApaDocument* CreateDocumentL();
TUid AppDllUid() const;
};
#endif //__REMOTECAM_H__
//End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -