classicui_plat/media_shared_document_api/inc/MediaSharedDocument.h
changeset 0 2f259fa3e83a
child 4 8ca85d2f0db7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/classicui_plat/media_shared_document_api/inc/MediaSharedDocument.h	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,152 @@
+/*
+* Copyright (c) 2002-2005 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: 
+*     This class extends standard CAknDocument behaviour by adding
+*     means of simple data exchange between two applications sharing
+*     document of this class type.  The application that is being
+*     called has to be running as an embedded process
+*     of the calling application.
+*
+*/
+
+
+#ifndef __CMEDIASHAREDDOCUMENT_H__
+#define __CMEDIASHAREDDOCUMENT_H__
+
+// INCLUDES
+#include <akndoc.h>
+#include <eikapp.h>
+
+// CLASS DEFINITION
+/**
+* This class extends standard CAknDocument behaviour by adding
+* means of simple data exchange between two applications sharing
+* document of this class type.  The application that is being
+* called has to be running as an embedded process
+* of the calling application.
+*/
+class CMediaSharedDocument : public CAknDocument
+    {
+    public: // Enumerations
+
+        enum TMediaSharedMode
+            {
+            EModeNormal = 0,
+            EModeNew,
+            EModeNewMany
+            };
+
+    protected:  // Constructors
+
+        /**
+        * Constructor.
+        * @param aApp Reference to the application object.
+        */
+        CMediaSharedDocument( CEikApplication& aApp ) : CAknDocument( aApp ),
+            iAppStartMode( EModeNormal ) { }
+
+    public: // New methods
+
+        /**
+        * Set application's embedding mode.
+        * @param aMode The new mode.
+        */
+        inline void SetAppModeArg( const TInt aMode = EModeNormal );
+
+        /**
+        * Return application's embedding mode.
+        * @return The current mode.
+        */
+        inline TInt GetAppModeArg();
+
+        /**
+        * Set application's data file name or path.
+        * Caller may set target path where producer should place
+        * generated file(s). If empty producer uses its default
+        * location.
+        * @param aFileName The new file name
+        */
+        inline void SetFileName( const TDesC& aFileName );
+
+        /**
+        * Get application's data file name.
+        * @param aFileName The current file name
+        */
+        inline void GetFileName( TDes& aFileName );
+
+        /**
+         * Set application specific data.
+         * @param aMode The new data value.
+         */
+        inline void SetAppData( const TInt aData );
+
+        /**
+         * Return application specific data.
+         * @return The current data value.
+         */
+        inline TInt GetAppData();
+
+
+    protected:  // data
+
+        /**
+        * Embedding launch mode argument.
+        */
+        TInt iAppStartMode;
+
+        /**
+        * Full path and name of media content passed from/to the parent process.
+        */
+        TFileName iFileName;
+
+        /**
+        * Application specific data.
+        */
+        TInt iAppData;
+
+    };
+
+inline void CMediaSharedDocument::SetAppModeArg( const TInt aMode )
+    {
+    iAppStartMode = aMode;
+    }
+
+inline TInt CMediaSharedDocument::GetAppModeArg()
+    {
+    return iAppStartMode;
+    }
+
+inline void CMediaSharedDocument::SetFileName( const TDesC& aFileName )
+    {
+    iFileName.Copy( aFileName );
+    }
+
+inline void CMediaSharedDocument::GetFileName( TDes& aFileName )
+    {
+    aFileName.Copy( iFileName );
+    }
+
+inline void CMediaSharedDocument::SetAppData( const TInt aData )
+    {
+    iAppData = aData;
+    }
+
+inline TInt CMediaSharedDocument::GetAppData()
+    {
+    return iAppData;
+    }
+
+#endif // __CMEDIASHAREDDOCUMENT_H__
+
+// End of File