--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/upnpframework/upnpcommonui/inc/upnpadvfindlist.h Thu Dec 17 08:52:00 2009 +0200
@@ -0,0 +1,323 @@
+/*
+* Copyright (c) 2005-2006 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: List for data of settings dialog
+*
+*/
+
+
+#ifndef UPNPADVANCEDFINDLIST_H
+#define UPNPADVANCEDFINDLIST_H
+
+// INCLUDES
+// System
+#include <aknsettingitemlist.h>
+#include <AknProgressDialog.h>
+
+// upnpframework / avcontroller api
+#include "upnpavbrowsingsessionobserver.h"
+
+// commonui internal
+#include "upnpcommonui.h"
+
+
+const TInt KMaxNameLength = 256;
+const TInt KGranularityOfArrays = 8;
+const TInt KSizeOfTBufC16 = 32;
+
+// FORWARD DECLARATIONS
+class MUPnPAVController;
+class MUPnPAVBrowsingSession;
+class CAdvancedFindResultWindow;
+class CUPnPAdvancedFindDialog;
+class CUPnPCommonUI;
+
+/**
+* Settings list class declaration
+* @since Series 60 3.1
+*/
+NONSHARABLE_CLASS( CUPnPAdvancedFindList ) : public CAknSettingItemList,
+ public MUPnPAVBrowsingSessionObserver,
+ public MProgressDialogCallback
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CUPnPAdvancedFindList* NewL(
+ MUPnPAVController& aAVControl,
+ MUPnPAVBrowsingSession& aBrowsingSession,
+ CUPnPAdvancedFindDialog& aParent,
+ CUPnPCommonUI& aCommonUI );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CUPnPAdvancedFindList();
+
+ public: // Functions from base classes
+
+ /**
+ * From CAknSettingItemList, this launches the setting page.
+ * @since Series 60 Series3.1
+ * @param aIndex, index of selected list item
+ * @param aCalledFromMenu, indicates if editing is called trough menu
+ * or from keyboard
+ * @return none
+ */
+ void EditItemL ( TInt aIndex, TBool aCalledFromMenu );
+
+ /**
+ * Launch up CAknSettingItemList
+ * @since Series 60 3.1
+ * @param none
+ * @return error code
+ */
+ TInt MakeQueryL( );
+
+ public: //From MProgressDialogCallback
+
+ /**
+ * Callback method Get's called when a dialog is dismissed
+ * @since Series 60 3.1
+ * @param aButtonId the reason when the dialog is dismissed
+ * @return none
+ */
+ void DialogDismissedL( TInt aButtonId );
+
+ public: //From MUPnPAVBrowsingSessionObserver
+
+ /**
+ * Returns a browse result received from a Media Server.
+ *
+ * @since Series 60 3.1
+ * @param aBrowseResponse browse response xml document
+ * @param aError system wide error code
+ * @param aMatches number of returned items
+ * @param aTotalCount total number of objects on container
+ * @param aUpdateId update id number
+ * @return None
+ */
+ void BrowseResponse(
+ const TDesC8& /*aBrowseResponse*/,
+ TInt /*aError*/,
+ TInt /*aMatches*/,
+ TInt /*aTotalCount*/,
+ const TDesC8& /*aUpdateId*/
+ ){};
+
+ /**
+ * Returns a search result received from a Media Server.
+ *
+ * @param aSearchResponse search response xml document
+ * @param aError system wide error code
+ * @param aMatches number of returned items
+ * @param aTotalCount total number of resulted items
+ * @param aUpdateId update id number
+ * @return None
+ */
+ void SearchResponse(
+ const TDesC8& aSearchResponse,
+ TInt aError,
+ TInt aMatches,
+ TInt aTotalCount,
+ const TDesC8& aUpdateId
+ );
+
+ /**
+ * Returns processed search results received from a Media Server.
+ *
+ * @since Series 60 3.1
+ * @param TInt aError status information
+ * @param aTotalCount TInt total number of objects
+ * @param RPointerArray of CUpnpObject objects
+ * @return None
+ */
+ void SearchResponseL(
+ TInt aStatus,
+ const RPointerArray<CUpnpObject>& aResultArray );
+
+ /**
+ * Returns search capabilities of the requested Media Server.
+ *
+ * @since Series 60 3.1
+ * @param TInt aError status information
+ * @param HBufC8& the search capabilities string
+ * @return None
+ */
+ void SearchCapabilitiesResponse( TInt /*aError*/,
+ const TDesC8& /*aSearchCapabilities*/ ){};
+
+ /**
+ * Notifies that the create container operation is complete.
+ *
+ * @since Series 60 3.1
+ * @param aError status information
+ * @param aObjectId (const TDesC8&) object ID of the new container
+ */
+ void CreateContainerResponse( TInt /*aError*/,
+ const TDesC8& /*aObjectId = KNullDesC8*/ )
+ {};
+
+ /**
+ * Notifies that the requested UPnP Object deletion is complete.
+ *
+ * @since Series 60 3.1
+ * @param aError status information
+ * @return None
+ */
+ void DeleteObjectResponse( TInt /*aError*/ ){};
+
+ /**
+ * Notifies that the Media Server we have a session with has
+ * disappeared. Session is now unusable and must be closed.
+ *
+ * @since Series 60 3.1
+ * @param aReason reason code
+ * @return None
+ */
+ void MediaServerDisappeared( TUPnPDeviceDisconnectedReason aReason );
+
+ /**
+ * Notifies that the Media Server we have a session with has
+ * disappeared. Session is now unusable and must be closed.
+ *
+ * @since Series 60 3.1
+ * @param aReason reason code
+ * @return None
+ */
+ void MediaServerDisappearedL( TUPnPDeviceDisconnectedReason aReason );
+
+ /**
+ * Notifies that a local media server has been on sharing
+ *
+ * @since Series 60 3.1
+ * @param aReason reason code
+ * @return None
+ */
+ void ReserveLocalMSServicesCompleted( TInt /*aError*/ ){};
+
+ public: //business logic
+
+ /**
+ * Check if the setting page is open
+ *
+ * @since Series 60 3.1
+ * @param none
+ * @return TBool ETrue if the setting is open
+ */
+ TBool IsSettingPageOpen() const;
+
+ protected: // Functions from base classes
+
+ /**
+ * Handles a change to the control's resources
+ *
+ * @since Series 60 3.1
+ * @param aType a message UID value.
+ * @return None
+ */
+ void HandleResourceChange( TInt aType );
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CUPnPAdvancedFindList( MUPnPAVController& aAVControl,
+ MUPnPAVBrowsingSession& aBrowsingSession,
+ CUPnPAdvancedFindDialog& aParent,
+ CUPnPCommonUI& aCommonUI );
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+ /**
+ * From CAknSettingItemList, Framework method to create a setting item.
+ * @since Series 60 Series3.1
+ * @param aIdentifier, list item id to be created
+ * @return CAknSettingItem, pointer to list item
+ */
+ CAknSettingItem* CreateSettingItemL( TInt aIdentifier );
+
+ /**
+ * Get search criteria
+ * @since Series 60 Series3.1
+ * @param none
+ * @return search criteria
+ */
+ HBufC8* BuildSearchCriteriaL() const;
+
+ private: // Data
+
+ //time variable for date from item
+ TTime iDateFrom;
+ //time variable for date Until item
+ TTime iDateUntil;
+ //time variable for initial date from item
+ TTime iDateInitial;
+
+ // Boolean flag telling if Search response received
+ TBool iSearchResponseReceived;
+
+ // text for artist selection item
+ TBuf<KMaxNameLength> iArtistText;
+ // text for album selection item
+ TBuf<KMaxNameLength> iAlbumText;
+ // text for Genre selection item
+ TBuf<KMaxNameLength> iGenreText;
+
+ TBuf<KMaxNameLength> iFileName;
+
+ //chosen media type
+ TInt iMediatype;
+
+ // wait note dialog
+ CAknWaitDialog* iWaitNoteDialog;
+
+
+ MUPnPAVController& iAVControl;
+
+ //observer for browse results
+ MUPnPAVBrowsingSessionObserver* iBrowseObserver;
+
+ //Array for search result
+ RPointerArray<CUpnpObject> iResultArray;
+
+ CAdvancedFindResultWindow* iFindResultWindow; //not owned
+ CUPnPCommonUI& iCommonUI;
+ CUPnPAdvancedFindDialog& iAdvancedFindDialog;
+
+ MUPnPAVBrowsingSession& iBrowseSession;
+
+ CUPnPCommonUI::TUPnPAction iAction;
+
+ TInt iExitCode;
+
+ // iShowingErrorNote tells if we are showing the error note.
+ // During the error note is shown, we cannot destroy our parent dialog
+ // because then the continuation after error note fails (crashes)
+ TBool iShowingErrorNote;
+
+ TBool iClose;
+ TBool iSettingPageOpen;
+
+ TUPnPDeviceDisconnectedReason iCloseReason;
+
+ };
+#endif // UPNPADVANCEDFINDLIST_H
+
+// End of File