--- a/mds_plat/harvester_framework_api/inc/composerplugin.h Fri Sep 03 10:57:50 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Composer Plug-in ECom interface
-*
-*/
-
-#ifndef __CCOMPOSERPLUGIN_H__
-#define __CCOMPOSERPLUGIN_H__
-
-#include <e32base.h>
-#include <ecom.h>
-#include <badesca.h>
-
-#include <mdesession.h>
-
-/** @var Uid for this interface */
-const TUid KCComposerPluginInterfaceUid = { 0x2000717E };
-
- /**
- * Composer Plug-in ECom interface definition. Composer plug-in implementation
- * needs to inherit this class and implement the pure virtual methods which exist
- * in this interface.
- *
- * Example:
- *
- * class CMyVideoComposerPlugin: public CComposerPlugin
- * {
- * protected:
- * void SetObservers();
- * void RemoveObservers();
- *
- * // Because CComposerPlugin inherits MMdEObjectObserver
- * void HandleObjectNotification(CMdESession& aSession,
- * TObserverNotificationType aType,
- * const RArray<TItemId>& aObjectIdArray);
- *
- * private:
- * // Active object which does the actual binary writing
- * // so that this interface and its observers remain responsive
- * CMyVideoComposerAO* iVideoComposerAO;
- * }
- *
- * void SetObservers()
- * {
- * // We want to listen to changes in Video metadata objects
- * // and setup an observer for this
- * CMdENamespaceDef& defaultNamespace = iSession->GetDefaultNamespaceDefL();
- * CMdEObjectDef& videoDef =
- * defaultNamespace.GetObjectDefL( MdeConstants::Video::KVideoObject );
- * CMdELogicCondition* condition = CMdELogicCondition::NewL( ELogicConditionOperatorAnd );
- * condition->AddObjectConditionL( videoDef );
- *
- * // iSession is reference to CMdESession which is always set in CComposerPlugin::SetSession()
- * iSession->AddObjectObserverL( *this, condition, ENotifyModify, &defaultNamespace );
- * }
- *
- * void RemoveObservers()
- * {
- * iSession->RemoveObjectObserverL( *this )
- * }
- *
- * void CComposerImagePlugin::HandleObjectNotification(CMdESession& aSession,
- * TObserverNotificationType aType, const RArray<TItemId>& aObjectIdArray)
- * {
- * // We give ID-array of changed Video objects to our active object
- * // which adds then to a its internal queue and processes them one-by-one
- * // with different RunL-calls so that we don't stuck the thread by composing
- * // for example 1000 binary files in a row.
- * iVideoComposerAO->AddToQueue( aObjectIdArray );
- * }
- */
-class CComposerPlugin : public CBase, public MMdEObjectObserver
- {
- public:
-
- /**
- * Construction.
- *
- * @param aUid Implementation UID which plug-in to invoke.
- */
- IMPORT_C static CComposerPlugin* NewL( const TUid& aUid );
-
- /**
- * Lists all available implementations which satisfy this given interface.
- *
- * @param aImplInfoArray Reference to a list which will be populated with
- * plug-in implementation details.
- */
- IMPORT_C static void ListImplementationsL(RImplInfoPtrArray& aImplInfoArray);
-
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CComposerPlugin();
-
- /**
- * Sets Mde session to be used.
- *
- * @param aSession Open MdE session to utilize in the Composer plug-in
- */
- IMPORT_C void SetSession( CMdESession& aSession );
-
- /**
- * Unsets Mde session.
- */
- IMPORT_C void RemoveSession();
-
- /**
- * Checks if composing is completed.
- *
- * @return Whether composing is on-going
- */
- virtual TBool IsComposingComplete() = 0;
-
- protected:
-
- /**
- * Sets observers to be notified. Called by the interface itself when
- * SetSession method is called from Harvester server side.
- */
- virtual void SetObservers() = 0;
-
- /**
- * Unsets observers. Called by the interface itself when
- * RemoveSession method is called from Harvester server side.
- */
- virtual void RemoveObservers() = 0;
-
- protected:
-
- /* Pointer to Mde session used by the plugin */
- CMdESession* iSession;
-
- private:
-
- /* Identification on cleanup */
- TUid iDtor_ID_Key;
- };
-
-#endif // __CCOMPOSERPLUGIN_H__