epoc32/include/icl/imageconstruct.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     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 "Eclipse Public License v1.0"
     6 // which accompanies this distribution, and is available
     7 // at the URL "http://www.eclipse.org/legal/epl-v10.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