mmplugins/cameraplugins/source/webcamera/ecamwebcamerabuffer.h
author Masaki Hosaka <hosaka@isb.co.jp>
Thu, 25 Mar 2010 11:21:36 +0900
branchRCL_3
changeset 9 9ae0fe04e757
child 64 92a82bc706f7
permissions -rw-r--r--
Add web camera plug-ins and test camera application.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     1
/*
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     2
* Copyright (c) 2010 ISB.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     3
* All rights reserved.
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     5
* under the terms of the "Symbian Foundation License v1.0"
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     7
* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     8
*
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
     9
* Initial Contributors:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    10
* ISB - Initial contribution
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    11
*
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    12
* Contributors:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    13
*
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    14
* Description:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    15
*
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    16
*/
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    17
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    18
#ifndef ECAMWEBCAMERABUFFER_H
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    19
#define ECAMWEBCAMERABUFFER_H
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    20
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    21
#include <e32base.h>
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    22
#include <ecam.h>
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    23
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    24
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    25
class CFbsBitmap;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    26
class CWebCameraBuffer : public CBase
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    27
					   , public MCameraBuffer
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    28
	{
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    29
public:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    30
	static CWebCameraBuffer* NewL(const CFbsBitmap& aBitmap, HBufC8* aData);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    31
	static CWebCameraBuffer* NewLC(const CFbsBitmap& aBitmap, HBufC8* aData);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    32
	static CWebCameraBuffer* NewL(CFbsBitmap* aBitmap, HBufC8* aData);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    33
	static CWebCameraBuffer* NewLC(CFbsBitmap* aBitmap, HBufC8* aData);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    34
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    35
public:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    36
	virtual TInt NumFrames();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    37
	virtual TDesC8* DataL( TInt aFrameIndex );
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    38
	virtual CFbsBitmap& BitmapL( TInt aFrameIndex );
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    39
	virtual RChunk& ChunkL();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    40
	virtual TInt ChunkOffsetL( TInt aFrameIndex );
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    41
	virtual TInt FrameSize( TInt aFrameIndex );
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    42
	virtual void Release();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    43
    ~CWebCameraBuffer();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    44
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    45
private:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    46
	void ConstructL(const CFbsBitmap& aBitmap, HBufC8* aData);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    47
	void ConstructL(CFbsBitmap* aBitmap, HBufC8* aData);
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    48
    CWebCameraBuffer();
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    49
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    50
private:
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    51
	CFbsBitmap* iBitmap;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    52
	HBufC8*     iImageData;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    53
	RChunk      iChunk;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    54
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    55
	TBool iOwnBitmap;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    56
	TBool iOwnData;
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    57
	};  
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    58
9ae0fe04e757 Add web camera plug-ins and test camera application.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff changeset
    59
#endif // ECAMWEBCAMERABUFFER_H