epoc32/include/icl/imageconstruct.h
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
equal deleted inserted replaced
1:666f914201fb 2:2fe1408b6811
     1 imageconstruct.h
     1 
       
     2 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 // All rights reserved.
       
     4 // This component and the accompanying materials are made available
       
     5 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
       
     6 // which accompanies this distribution, and is available
       
     7 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
       
     8 //
       
     9 // Initial Contributors:
       
    10 // Nokia Corporation - initial contribution.
       
    11 //
       
    12 // Contributors:
       
    13 //
       
    14 // Description:
       
    15 // ImageConstruct.h - classes used during construction of decoders/encoders
       
    16 // 
       
    17 //
       
    18 
       
    19 #ifndef __ImageConstruct_h
       
    20 #define __ImageConstruct_h
       
    21 
       
    22 #include <e32base.h>
       
    23 
       
    24 // forward declarations
       
    25 class CImageDecoder;
       
    26 class CImageDecoderPlugin;
       
    27 class CImageEncoder;
       
    28 class CImageEncoderPlugin;
       
    29 class RCImageDecodeConstructTest;
       
    30 class RCImageEncodeConstructTest;
       
    31 
       
    32 /**
       
    33 @publishedAll
       
    34 @released
       
    35 
       
    36 Provides functions related to constructing decoders.
       
    37 
       
    38 Objects of this class are loaded by ECOM, and it is this class which
       
    39 is responsible for instantiating the decoder plugins. Plugin writers
       
    40 must derive their own plugin specific variants. The derived class
       
    41 is responsible for defining its own factory function to create instances
       
    42 of itself.
       
    43 */
       
    44 
       
    45 class CImageDecodeConstruct : public CBase
       
    46 	{
       
    47 	friend class CImageDecoder;
       
    48 public:
       
    49 	IMPORT_C ~CImageDecodeConstruct();
       
    50 
       
    51 	IMPORT_C TUid ImplementationUid() const;
       
    52 	// create new CImageDecoder - default creates basic CImageDecoder
       
    53 	IMPORT_C virtual CImageDecoder* NewDecoderL() const;
       
    54 
       
    55 	/**
       
    56 	Creates a new concrete CImageDecoderPlugin object.
       
    57 
       
    58 	This is a pure virtual function that each derived class must implement.
       
    59 
       
    60 	@return A pointer to a fully constructed CImageDecoderPlugin.
       
    61 	*/
       
    62 	virtual CImageDecoderPlugin* NewPluginL() const = 0;
       
    63 
       
    64 	// request threaded decode - default false
       
    65 	IMPORT_C virtual TBool RequestThread() const;
       
    66 protected:
       
    67 	IMPORT_C CImageDecodeConstruct();
       
    68 	IMPORT_C void ConstructL();
       
    69 
       
    70 private:
       
    71 	IMPORT_C virtual void ReservedVirtual1();
       
    72 	IMPORT_C virtual void ReservedVirtual2();
       
    73 	IMPORT_C virtual void ReservedVirtual3();
       
    74 	IMPORT_C virtual void ReservedVirtual4();
       
    75 private:
       
    76 	/**
       
    77 	This member is internal and not intended for use.
       
    78 	*/
       
    79 	TUid iDtorIDKey;
       
    80 
       
    81 	/**
       
    82 	This member is internal and not intended for use.
       
    83 	*/
       
    84 	TAny* iReserved;
       
    85 
       
    86 friend class RCImageDecodeConstructTest;
       
    87 	};
       
    88 
       
    89 /**
       
    90 @publishedAll
       
    91 @released
       
    92 
       
    93 Provides functions related to constructing encoders.
       
    94 
       
    95 Objects of this class are loaded by ECOM, and it is this class which
       
    96 is responsible for instantiating the encoder plugins. Plugin writers
       
    97 must derive their own plugin specific variants. The derived class
       
    98 is responsible for defining its own factory function to create instances
       
    99 of itself.
       
   100 */
       
   101 class CImageEncodeConstruct : public CBase
       
   102 	{
       
   103 	friend class CImageEncoder;
       
   104 public:
       
   105 	IMPORT_C ~CImageEncodeConstruct();
       
   106 
       
   107 	IMPORT_C TUid ImplementationUid() const;
       
   108 	// create new CImageEncoder - default creates basic CImageEncoder
       
   109 	IMPORT_C virtual CImageEncoder* NewEncoderL() const;
       
   110 
       
   111 	/**
       
   112 	Creates new concrete CImageEncoderPlugin object.
       
   113 
       
   114 	This is a virtual function that each derived class must implement.
       
   115 
       
   116 	@return A pointer to fully constructed CImageEncoderPlugin.
       
   117 	*/
       
   118 	virtual CImageEncoderPlugin* NewPluginL() const = 0;
       
   119 
       
   120 	// request threaded encode - default false
       
   121 	IMPORT_C virtual TBool RequestThread() const;
       
   122 protected:
       
   123 	IMPORT_C CImageEncodeConstruct();
       
   124 	IMPORT_C void ConstructL();
       
   125 
       
   126 private:
       
   127 	IMPORT_C virtual void ReservedVirtual1();
       
   128 	IMPORT_C virtual void ReservedVirtual2();
       
   129 	IMPORT_C virtual void ReservedVirtual3();
       
   130 	IMPORT_C virtual void ReservedVirtual4();
       
   131 private:
       
   132 	TUid iDtorIDKey;
       
   133 	TAny* iReserved;
       
   134 friend class RCImageEncodeConstructTest;
       
   135 	};
       
   136 
       
   137 #endif //__ImageConstruct_h