phonebookengines/VirtualPhonebook/VPbkSimServer/inc/SimServerErrors.h
changeset 0 e686773b3f54
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookengines/VirtualPhonebook/VPbkSimServer/inc/SimServerErrors.h	Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,137 @@
+/*
+* 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:  Error function and panic codes for sim server debug compilation
+*
+*/
+
+
+
+#ifndef VPBKSIMSERVER_SIMSERVERERRORS_H
+#define VPBKSIMSERVER_SIMSERVERERRORS_H
+
+//  INCLUDES
+#include <e32std.h>
+
+/**
+* VPbkSimStore internal error codes and functions for
+* debug code
+*/
+namespace VPbkSimServer
+    {
+    /// Panic category for sim server
+    _LIT( KPanicCategory, "VPbkSimServer" );
+
+    /**
+    * Panic codes
+    */
+    enum TPanicCode
+        {
+        ECommandObserverAlreadySetInSaveCmd,
+        EIncorrectContactEventInSaveCmd,
+        EInvalidHandleInSaveCmd,
+        ECommandObserverAlreadySetInDeleteCmd,
+        EIncorrectContactEventInDeleteCmd,
+        EInvalidHandleInDeleteCmd,
+        ESaveCmdAlreadyActive,
+        EInvalidHandleInView,
+        EMissingOpCodeDebugText
+        };
+
+    enum TClientPanicCode
+        {
+        // Server doesn't implement the service that client
+        // is requesting
+        EInvalidOpCode = 1,
+        // Server doesn't implement the canceling service that client
+        // is requesting
+        EInvalidCancelOpCode,
+        // Client hasn't open the store but makes a requests to service
+        // that needs an open store.
+        ECVPbkStoreSession_StoreServiceL,
+        // Client has done a delete request and is trying to do another one
+        // before the first delete request has completed.
+        ECVPbkStoreSession_DeleteContactL,
+        // Client has done a save request and is trying to do another one
+        // before the first save request has completed.
+        ECVPbkStoreSession_SaveContactL,
+        // DEBUG time panic: view filtering using contact
+        // matching prefix is in ivalid state. Client has
+        // probably ignored an error and still using the view.
+        ECVPbkViewSubSession_InvalidActiveMatchState,
+        // DEBUG time panic: view filtering using contact
+        // matching prefix is in ivalid state. Client has
+        // probably ignored an error and still using the view.
+        ECVPbkViewSubSession_InvalidNonActiveMatchState,
+        // View is not in valid state. Client has probably
+        // ignored an error and still using the view.
+        ECVPbkViewSubSession_ReturnContactCountL,
+        // View is not in valid state. Client has probably
+        // ignored an error and still using the view.
+        ECVPbkViewSubSession_GetViewContactL,
+        // View is not in valid state. Client has probably
+        // ignored an error and still using the view.
+        ECVPbkViewSubSession_ChangeSortOrderL,
+        // Client hasn't cancelled the view event message before
+        // closing the view.
+        ECVPbkViewSubSession_Destructor_EventMessage,
+        // Client hasn't cancelled the contact match message before
+        // closing the view.
+        ECVPbkViewSubSession_Destructor_Match,
+        // Client hasn't cancelled the store event message before
+        // closing the store.
+        ECVPbkStoreSession_CloseStore_EventMessage,
+        // Client hasn't cancelled the async save before
+        // closing the store
+        ECVPbkStoreSession_CloseStore_Save,
+        // Client hasn't cancelled the async delete before
+        // closing the store
+        ECVPbkStoreSession_CloseStore_Delete,
+        // Client hasn't cancelled the async number match before
+        // closing the store
+        ECVPbkStoreSession_CloseStore_MatchNumber,
+        // Client hasn't cancelled the async find before
+        // closing the store
+        ECVPbkStoreSession_CloseStore_Find
+        };
+
+    /**
+     * Called if an unrecoverable error is detected.
+     * Stops the thread with User::Panic.
+     */
+    inline void Panic( TPanicCode aPanicCode );
+
+    /**
+    * Panics client.
+    * @param aMessage the message to use for panic
+    * @param aReason one of the panic codes for the client
+    */
+    inline void PanicClient( const RMessage2& aMessage, 
+        TClientPanicCode aReason );
+    }
+
+// INLINE FUNCTIONS
+inline void VPbkSimServer::Panic( TPanicCode aPanicCode )
+    {
+    User::Panic( KPanicCategory, aPanicCode );
+    }
+
+inline void VPbkSimServer::PanicClient( const RMessage2& aMessage, 
+    TClientPanicCode aPanicCode )
+	{
+	aMessage.Panic( KPanicCategory, aPanicCode );
+	}
+
+#endif      // VPBKSIMSERVER_SIMSERVERERRORS_H
+            
+// End of File