--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CommonAdapter/inc/GlobalNote.h Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,203 @@
+/*
+* Copyright (c) 2002-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: Defines a common global note API meant to be
+* customised by each SW platform.
+*
+*/
+
+
+#ifndef GLOBALNOTE_H
+#define GLOBALNOTE_H
+
+// INCLUDES
+#include <e32base.h>
+
+// CONSTANTS
+
+// Available note types
+enum TGlobalNoteType
+ {
+ EGlobalInformationNote = 1,
+ EGlobalWarningNote = 2,
+ EGlobalConfirmationNote = 3,
+ EGlobalErrorNote = 4,
+ EGlobalWaitNote = 5
+ };
+
+// Available note softkeys
+enum TGlobalNoteSoftkey
+ {
+ // No sofkeys
+ EGlobalNoteSoftkeyNone = 0,
+
+ // Single button notes
+ EGlobalNoteSoftkeyOk = 1,
+ EGlobalNoteSoftkeyExit = 2,
+ EGlobalNoteSoftkeyCancel = 3,
+ EGlobalNoteSoftkeyBack = 4,
+ EGlobalNoteSoftKeyClose = 5,
+ EGlobalNoteSoftKeyQuit = 6,
+
+ // Double button notes.
+ EGlobalNoteSoftkeyOkCancel = 1000,
+ EGlobalNoteSoftkeyYesNo = 1001,
+ EGlobalNoteSoftkeyAnswerExit = 1002
+ };
+
+
+// Return values for asynchronous notes
+enum TGlobalNoteResult
+ {
+ EGlobalNoteResultOk = 1,
+ EGlobalNoteResultExit = 2,
+ EGlobalNoteResultCancel = 3,
+ EGlobalNoteResultBack = 4,
+ EGlobalNoteResultClose = 5,
+ EGlobalNoteResultQuit = 6,
+ EGlobalNoteResultYes = 7,
+ EGlobalNoteResultNo = 8,
+ EGlobalNoteResultAnswer = 9
+ };
+
+// FORWARD DECLARATIONS
+class CGlobalNoteImpl;
+
+// CLASS DECLARATION
+
+/**
+* Common global note adapter.
+*
+* Example usage of the API:
+*
+* Link your module against library commonadapter.lib
+* Include header globalnote.h
+*
+* @code
+*
+* _LIT( KNoteText, "Haaha..\nDoes this thing work at all" );
+* _LIT( KCancelText, "Cancelled" );
+*
+* CGlobalNote* globalNote = CGlobalNote::NewLC();
+* globalNote->SetSoftkeys( EGlobalNoteSoftkeyOkCancel );
+* TRequestStatus status;
+* globalNote->ShowNoteL( status, EGlobalErrorNote, KNoteText );
+* User::WaitForRequest( status );
+* if ( status != KErrCancel )
+* {
+* TBuf<12> buf;
+* buf.AppendNum( status.Int() );
+* User::InfoPrint( buf );
+* }
+* else
+* {
+* User::InfoPrint( KCancelText );
+* }
+*
+* CleanupStack::PopAndDestroy( globalNote );
+*
+* @endcode
+*
+* @lib commonadapter.lib
+* @since 2.0
+*/
+NONSHARABLE_CLASS( CGlobalNote ) : public CBase
+ {
+public:
+
+ /**
+ *Two-phased constructors.
+ */
+ IMPORT_C static CGlobalNote* NewL();
+ IMPORT_C static CGlobalNote* NewLC();
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C ~CGlobalNote();
+
+public: // New functions
+
+ /**
+ * Sets note softkeys.
+ *
+ * @since 2.0
+ *
+ * @param aSoftKey Softkey ID
+ */
+ IMPORT_C void SetSoftkeys( TGlobalNoteSoftkey aSoftkey );
+
+ /**
+ * Shows a global note. This call returns immediately.
+ * Deleting @c CGlobalNote instance does not remove the
+ * note after this call.
+ *
+ * @since 2.0
+ *
+ * @param aType Note type.
+ * @param aNoteText Note text.
+ *
+ * @return Note ID.
+ */
+ IMPORT_C TInt ShowNoteL( TGlobalNoteType aType, const TDesC& aNoteText );
+
+ /**
+ * Shows a global note. This call returns immediately.
+ * Deleting @c CGlobalNote instance cancels the note after
+ * this call. In this case, @c KErrCancel is returned in @c aStatus.
+ *
+ * @since 2.0
+ *
+ * @param aStatus After user has pressed a softkey, this returns the
+ * corresponding @c TGlobalNoteResult code of
+ * the pressed softkey.
+ * @param aType Note type.
+ * @param aNoteText Note text.
+ *
+ * @return Note ID.
+ */
+ IMPORT_C TInt ShowNoteL( TRequestStatus& aStatus,
+ TGlobalNoteType aType,
+ const TDesC& aNoteText );
+
+ /**
+ * Cancels a started note by ID.
+ *
+ * @since 2.0
+ *
+ * @param aNoteId ID of the note to be canceled.
+ */
+ IMPORT_C void CancelNoteL( TInt aNoteId );
+
+private:
+
+ /**
+ * C++ default constructor.
+ */
+ CGlobalNote();
+
+ /**
+ * Symbian 2nd-phase constructor.
+ */
+ void ConstructL();
+
+private:
+
+ /**
+ * Pointer to separate implementation class.
+ * Own.
+ */
+ CGlobalNoteImpl* iImpl;
+ };
+
+#endif // GLOBALNOTE_H