class MImplementationFactory |
Abstract Factory Class in order to derive different concrete factory class for image processing implementation specific to VideoCapture and specific Viewfinder.
Also used to derive concrete factory class for snapshot implementation specific to image capture and video capture.
Also used to derive concrete factory class for histogram implementation specific to still image, video, snapshot or specific viewfinder.
This may be used in other possible cases as well.
Public Member Functions | |
---|---|
TInt | GetImpl(TAny *&, TUid) |
TInt | GetImpl1(TAny *&, TUid, TECamImplFactoryParam) |
TInt | GetImpl2(TAny *&, TUid, TECamImplFactoryParam, TECamImplFactoryParam) |
void | Release() |
TInt | GetImpl | ( | TAny *& | aIfPtr, |
TUid | aIfaceUid | |||
) | const [pure virtual] |
Provides implementation handle for different implementation products.
KErrNone should be returned only when a valid interface pointer is there. Any other error code implies that interface implementation pointer is NULL.
KErrNotSupported should be returned when the concrete interface implementation is not present.
The inferface pointer is retrieved only on the basis of interface uid passed. Examples of 'interface implementation pointer' - 'interface uid' are as follows:- MCameraImageProcessing* - KECamMCameraImageProcessingUid; MCameraImageProcessing2* - KECamMCameraImageProcessing2Uid; MCameraImageProcessing3* - KECamMCameraImageProcessing3Uid;
MCameraV2Histogram* - KECamMCameraV2HistogramUid;
Many other pairs may be possible in future. For example when image processing API/ camera snapshot API/ histogram API is further extended. Or when same concept is being used on other ECam related sub-component.
TInt | GetImpl1 | ( | TAny *& | aIfPtr, |
TUid | aIfaceUid, | |||
TECamImplFactoryParam | aParam1 | |||
) | const [pure virtual] |
Overloaded method which helps in retrieving the appropriate implementation pointer based on extra information provided through a single 'TECamImplFactoryParam'.
Provides implementation handle for different implementation products.
The inferface pointer is retrieved only on the basis of interface uid passed. Examples of 'interface implementation pointer' - 'interface uid' are as follows:- MCameraImageProcessing* - KECamMCameraImageProcessingUid; MCameraImageProcessing2* - KECamMCameraImageProcessing2Uid; MCameraImageProcessing3* - KECamMCameraImageProcessing3Uid;
MCameraV2Histogram* - KECamMCameraV2HistogramUid;
Many other pairs may be possible in future. For example when image processing API/ camera snapshot API/ histogram API is further extended. Or when same concept is being used on other ECam related sub-component.
TAny *& aIfPtr | Retrieves pointer to specifc interface implementation as identified by the interface uid. |
TUid aIfaceUid | The interface uid. |
TECamImplFactoryParam aParam1 | union used to provide extra information which could a TAny*, TInt or TUint. |
TInt | GetImpl2 | ( | TAny *& | aIfPtr, |
TUid | aIfaceUid, | |||
TECamImplFactoryParam | aParam1, | |||
TECamImplFactoryParam | aParam2 | |||
) | const [pure virtual] |
Overloaded method which helps in retrieving the appropriate implementation pointer based on extra information provided through two different 'TECamImplFactoryParam'.
Provides implementation handle for different implementation products.
The inferface pointer is retrieved only on the basis of interface uid passed. Examples of 'interface implementation pointer' - 'interface uid' are as follows:- MCameraImageProcessing* - KECamMCameraImageProcessingUid; MCameraImageProcessing2* - KECamMCameraImageProcessing2Uid; MCameraImageProcessing3* - KECamMCameraImageProcessing3Uid;
MCameraV2Histogram* - KECamMCameraV2HistogramUid;
Many other pairs may be possible in future. For example when image processing API/ camera snapshot API/ histogram API is further extended. Or when same concept is being used on other ECam related sub-component.
TAny *& aIfPtr | Retrieves pointer to specifc interface implementation as identified by the interface uid. |
TUid aIfaceUid | The interface uid. |
TECamImplFactoryParam aParam1 | union used to provide extra information which could a TAny*, TInt or TUint. |
TECamImplFactoryParam aParam2 | union used to provide extra information which could a TAny*, TInt or TUint. |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.