omxil_generic/omxilcomplib/src/omxilcallbackmanager.h
changeset 5 fb6faddbb212
parent 0 0e4a32b9112d
equal deleted inserted replaced
2:6add9366d894 5:fb6faddbb212
    55 	class CBufferMarkPropagationRegistrationCommand;
    55 	class CBufferMarkPropagationRegistrationCommand;
    56 	class CBufferRemovalCommand;
    56 	class CBufferRemovalCommand;
    57 	class CEventCallbackCommand;
    57 	class CEventCallbackCommand;
    58 	class CBufferDoneCallbackCommand;
    58 	class CBufferDoneCallbackCommand;
    59 	class CPortSettingsChangeCommand;
    59 	class CPortSettingsChangeCommand;
    60 #ifdef _OMXIL_COMMON_IL516C_ON
       
    61 	class CEjectBuffersRequestCommand;
       
    62 #endif
       
    63 	// Note that the following friends don't break COmxILCallbackManager's
    60 	// Note that the following friends don't break COmxILCallbackManager's
    64 	// interface as all friends below are COmxILCallbackManager's private
    61 	// interface as all friends below are COmxILCallbackManager's private
    65 	// nested classes and therefore they are logically part of
    62 	// nested classes and therefore they are logically part of
    66 	// COmxILCallbackManager implementation
    63 	// COmxILCallbackManager implementation
    67 	friend class CCompHandleRegistrationCommand;
    64 	friend class CCompHandleRegistrationCommand;
    70 	friend class CBufferMarkPropagationRegistrationCommand;
    67 	friend class CBufferMarkPropagationRegistrationCommand;
    71 	friend class CBufferRemovalCommand;
    68 	friend class CBufferRemovalCommand;
    72 	friend class CEventCallbackCommand;
    69 	friend class CEventCallbackCommand;
    73 	friend class CBufferDoneCallbackCommand;
    70 	friend class CBufferDoneCallbackCommand;
    74 	friend class CPortSettingsChangeCommand;
    71 	friend class CPortSettingsChangeCommand;
    75 #ifdef _OMXIL_COMMON_IL516C_ON
       
    76 	friend class CEjectBuffersRequestCommand;
       
    77 #endif
       
    78 
    72 
    79 public:
    73 public:
    80 
    74 
    81 	static COmxILCallbackManager* NewL(
    75 	static COmxILCallbackManager* NewL(
    82 		OMX_HANDLETYPE apComponentHandle,
    76 		OMX_HANDLETYPE apComponentHandle,
   128 		OMX_STATETYPE aOmxState);
   122 		OMX_STATETYPE aOmxState);
   129 
   123 
   130 	OMX_ERRORTYPE CommandCompleteNotification(
   124 	OMX_ERRORTYPE CommandCompleteNotification(
   131 		OMX_COMMANDTYPE aOmxCommand,
   125 		OMX_COMMANDTYPE aOmxCommand,
   132 		OMX_U32 aOmxPortIndex);
   126 		OMX_U32 aOmxPortIndex);
   133 
       
   134 #ifdef _OMXIL_COMMON_IL516C_ON
       
   135 	OMX_ERRORTYPE EjectBuffersRequest(
       
   136 		OMX_U32 aLocalOmxPortIndex);
       
   137 #endif
       
   138 
   127 
   139 	//
   128 	//
   140 	// Methods for Callback Notification (from MOmxILCallbackManagerIf)
   129 	// Methods for Callback Notification (from MOmxILCallbackManagerIf)
   141 	//
   130 	//
   142 
   131 
   498 	TUint iPortSettingsIndex;
   487 	TUint iPortSettingsIndex;
   499 	HBufC8* ipPortSettings; // This is owned by this class
   488 	HBufC8* ipPortSettings; // This is owned by this class
   500 
   489 
   501 	};
   490 	};
   502 
   491 
   503 #ifdef _OMXIL_COMMON_IL516C_ON
       
   504 /**
       
   505   Callback Manager's command class for requesting buffer ejection from tunnelled component.
       
   506  */
       
   507 class COmxILCallbackManager::CEjectBuffersRequestCommand :
       
   508 	public COmxILCallbackManager::CCallbackCommand
       
   509 	{
       
   510 
       
   511 public:
       
   512 
       
   513 	inline CEjectBuffersRequestCommand(OMX_U32 aLocalOmxPortIndex);
       
   514 
       
   515 	void operator()(COmxILCallbackManager& aCbMgr, TBool& aHasBeenDeferred);
       
   516 
       
   517 private:
       
   518 
       
   519 	OMX_U32 iLocalOmxPortIndex;
       
   520 
       
   521 	};
       
   522 #endif
       
   523 
       
   524 
       
   525 #include "omxilcallbackmanager.inl"
   492 #include "omxilcallbackmanager.inl"
   526 
   493 
   527 #endif // OMXILCALLBACKMANAGER_H
   494 #endif // OMXILCALLBACKMANAGER_H