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".
9 // Initial Contributors:
10 // Nokia Corporation - initial contribution.
15 // ImageConstruct.h - classes used during construction of decoders/encoders
19 #ifndef __ImageConstruct_h
20 #define __ImageConstruct_h
24 // forward declarations
26 class CImageDecoderPlugin;
28 class CImageEncoderPlugin;
29 class RCImageDecodeConstructTest;
30 class RCImageEncodeConstructTest;
36 Provides functions related to constructing decoders.
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
45 class CImageDecodeConstruct : public CBase
47 friend class CImageDecoder;
49 IMPORT_C ~CImageDecodeConstruct();
51 IMPORT_C TUid ImplementationUid() const;
52 // create new CImageDecoder - default creates basic CImageDecoder
53 IMPORT_C virtual CImageDecoder* NewDecoderL() const;
56 Creates a new concrete CImageDecoderPlugin object.
58 This is a pure virtual function that each derived class must implement.
60 @return A pointer to a fully constructed CImageDecoderPlugin.
62 virtual CImageDecoderPlugin* NewPluginL() const = 0;
64 // request threaded decode - default false
65 IMPORT_C virtual TBool RequestThread() const;
67 IMPORT_C CImageDecodeConstruct();
68 IMPORT_C void ConstructL();
71 IMPORT_C virtual void ReservedVirtual1();
72 IMPORT_C virtual void ReservedVirtual2();
73 IMPORT_C virtual void ReservedVirtual3();
74 IMPORT_C virtual void ReservedVirtual4();
77 This member is internal and not intended for use.
82 This member is internal and not intended for use.
86 friend class RCImageDecodeConstructTest;
93 Provides functions related to constructing encoders.
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
101 class CImageEncodeConstruct : public CBase
103 friend class CImageEncoder;
105 IMPORT_C ~CImageEncodeConstruct();
107 IMPORT_C TUid ImplementationUid() const;
108 // create new CImageEncoder - default creates basic CImageEncoder
109 IMPORT_C virtual CImageEncoder* NewEncoderL() const;
112 Creates new concrete CImageEncoderPlugin object.
114 This is a virtual function that each derived class must implement.
116 @return A pointer to fully constructed CImageEncoderPlugin.
118 virtual CImageEncoderPlugin* NewPluginL() const = 0;
120 // request threaded encode - default false
121 IMPORT_C virtual TBool RequestThread() const;
123 IMPORT_C CImageEncodeConstruct();
124 IMPORT_C void ConstructL();
127 IMPORT_C virtual void ReservedVirtual1();
128 IMPORT_C virtual void ReservedVirtual2();
129 IMPORT_C virtual void ReservedVirtual3();
130 IMPORT_C virtual void ReservedVirtual4();
134 friend class RCImageEncodeConstructTest;
137 #endif //__ImageConstruct_h