upnpsharing/upnpcontentserver/inc/upnpsharingrequest.h
branchnew development branch with rendering state machine and other goodies
changeset 38 5360b7ddc251
parent 0 7f85d04be362
--- a/upnpsharing/upnpcontentserver/inc/upnpsharingrequest.h	Fri Sep 17 08:31:21 2010 +0300
+++ b/upnpsharing/upnpcontentserver/inc/upnpsharingrequest.h	Mon Nov 01 12:37:49 2010 +0200
@@ -1,108 +1,129 @@
-/*
-* Copyright (c) 2006-2007 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:      CUpnpSharingRequest class definition
- *
-*/
-
-
-
-
-
-#ifndef __UPNPSHARINGREQUEST_H__
-#define __UPNPSHARINGREQUEST_H__
-
-// Include Files
-#include <e32base.h>
-#include <e32def.h> //CArrayFix
-#include <badesca.h> //CDesCArray
-
-
-/**
- * Helper class to store information about ongoing/pending sharing request
- * @since S60 3.1
- */
-class CUpnpSharingRequest : public CBase
-    {
-public :
-
-    /**
-     * 2 phased contructor
-     * @since S60 3.1
-     * @param aKind Type of sharing request( images&videos or music )
-     * @param aArr Indexes of selection relative to albums or playlists
-     * @param aNameArray Names of containers to share
-     */
-    static CUpnpSharingRequest* NewL(
-        TInt aKind,
-        const RArray<TInt>& aArr,
-        CDesCArray* aIdArray = NULL,
-        CDesCArray* aNameArray = NULL );
-
-    /**
-     * 2nd phase constructor.
-     * @since S60 3.1
-     * @param aArr Indexes of selection relative to albums or playlists
-     * @param aNameArray Names of containers to share
-     */
-    void ConstructL( const RArray<TInt>& aArr,
-                    CDesCArray* aIdArray,
-                    CDesCArray* aNameArray );
-
-    /**
-     * Constructor
-     * @since S60 3.1
-     * @param aKind Type of sharing request( images&videos or music )
-     */
-    CUpnpSharingRequest( TInt aKind );
-
-    /**
-     * Destructor
-     */
-    virtual ~CUpnpSharingRequest();
-
-public :
-    /**
-     * Determines the type of sharing:
-     * images&videos or music
-     */
-    TInt iKind;
-
-    /**
-     * The number of items in selection
-     */
-    TInt iItemCount;
-
-    /**
-     * The progress of sharing if it is ongoing
-     */
-    TInt iProgress;
-
-    /**
-     * Selections for the sharing request
-     */
-    RArray<TInt> iSelections;
-
-    /**
-     * Array for object IDs
-     */
-    CDesCArray* iObjectIds;
-    
-    /**
-     * Array for object names
-     */
-    CDesCArray* iObjectNames;
-    };
-
-
-#endif // __UPNPSHARINGREQUEST_H__
+/*
+* Copyright (c) 2006-2007 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:      CUpnpSharingRequest class definition
+ *
+*/
+
+
+
+
+
+#ifndef __UPNPSHARINGREQUEST_H__
+#define __UPNPSHARINGREQUEST_H__
+
+// Include Files
+#include <e32base.h>
+#include <badesca.h>
+
+#include "upnpcontentserverdefs.h" //TUpnpMediaType
+
+/**
+ * Helper class to store information about ongoing/pending sharing request
+ * @since S60 3.1
+ */
+class CUpnpSharingRequest : public CBase
+    {
+public :
+
+    /**
+     * 2 phased contructor
+     * @since S60 5.2
+     * @param aMediaType Type of sharing request (EImageAndVideo or EPlaylist)
+     * @param aSharingType Type of sharing request (EShareNone, EShareAll, 
+     *         EShareMany)
+     */
+    static CUpnpSharingRequest* NewL( 
+            UpnpContentServer::TUpnpMediaType aMediaType, 
+            TInt aSharingType );
+
+    /**
+     * Sets the share, unshare and clfids arrays
+     * @since S60 5.2
+     * @param aShareArr Files to be shared
+     * @param aUnshareArr Files to be unshared
+     * @param aClfIds Indexes of selection relative to albums or playlists
+     */
+    void SetSharingRequestInfo( 
+            RArray<TFileName>* aShareArr,
+            RArray<TFileName>* aUnshareArr,
+            CDesCArray* aClfIds );
+
+    /**
+     * Destructor
+     */
+    virtual ~CUpnpSharingRequest();
+
+private:
+
+    /**
+     * 2nd phase constructor.
+     * @since S60 5.2
+     */
+    void ConstructL() {};
+
+    /**
+     * Constructor
+     * @since S60 5.2
+     * @param aMediaType Type of sharing request (EImageAndVideo or EPlaylist)
+     * @param aSharingType Type of sharing request (EShareNone, EShareAll, 
+     *         EShareMany)
+     */
+    CUpnpSharingRequest( 
+            UpnpContentServer::TUpnpMediaType aMediaType,
+            TInt aSharingType );
+
+public :
+// (These member variables are used without getters or setters in 
+// contentserver, which is why they are public. CUpnpSharingRequest is
+// only a data storage)
+
+    /**
+     * Determines the type of sharing:
+     * images&videos or music
+     */
+    UpnpContentServer::TUpnpMediaType iMediaType;
+
+    /**
+     * Type of sharing request( EShareNone, EShareAll, EShareMany )
+     */
+    TInt iSharingType;
+
+    /**
+     * The progress of sharing if it is ongoing
+     */
+    TInt iProgress;
+
+    /**
+     * Files to be shared
+     * owned
+     */
+    RArray<TFileName>* iShareArr;
+      
+    /**
+     * Files to be unshared
+     * owned
+     */
+    RArray<TFileName>* iUnshareArr;   
+  
+    /**
+     * Ids of selection relative to albums or playlists
+     * owned
+     */
+    CDesCArray* iClfIds;
+  
+    };
+
+#endif // __UPNPSHARINGREQUEST_H__
+
+// End of file