⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 remotecam.h

📁 Symbian S60 v2 官方远程摄像头程序
💻 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 + -