--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/speechsrv_plat/vas_api/inc/nssvascvasdbevent.h Thu Dec 17 08:46:30 2009 +0200
@@ -0,0 +1,125 @@
+/*
+* Copyright (c) 2002 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: The CNssVASDBEvent encapsulates events occuring on the VAS DB.
+*
+*/
+
+
+#ifndef TNSSVASDBEVENT_H
+#define TNSSVASDBEVENT_H
+
+// INCLUDES
+#include <nssvasmtag.h>
+
+// CLASS DECLARATION
+
+/**
+* CNssVASDBEvent class encapsulates a VAS DB event.
+* A VAS DB evnt consists of the type of event and the tag object on which the event occured.
+* The enumeration above shows the event types. Symbian DBMS event types do not have tag
+* tag with them (set to NULL). The client is responsible for deleting the event object,
+* otherwise a memory leak would occur.
+* @lib NssVASApi.lib
+* @since 2.8
+*/
+class CNssVASDBEvent: public CBase
+ {
+ public:
+
+ // ENUMS
+ enum TVASDBEventType
+ {
+ // standard Symbian DBMS event types (from RDBNotifier)
+ // event notification across threads possible,
+ EVASDatabaseEventNull,
+ EVASDatabaseEventDatabaseClose,
+ EVASDatabaseEventDatabaseUnlock,
+ EVASDatabaseEventDatabaseCommit,
+ EVASDatabaseEventDatabaseRollback,
+ EVASDatabaseEventDatabaseRecover,
+ // In addition, following event types are also supported by VAS.
+ // These events are notifieds only within the same thread. The
+ // observers and event originator must be on the same thread.
+ // future releases would allow event noification across threads
+ EVASDatabaseEventTagAdded,
+ EVASDatabaseEventTagChanged,
+ EVASDatabaseEventTagDeleted
+ };
+
+ public: // Constructors and destructor
+
+ /**
+ * 2Phase Constructor
+ * @param aType - event type,
+ * @param aTag - tag on which the event occured
+ * @return
+ */
+ static CNssVASDBEvent* NewL(TVASDBEventType& aType, MNssTag *aTag);
+
+ /**
+ * 2Phase Constructor
+ * @param aType - event type,
+ * @param aTag - tag on which the event occured
+ * @return
+ */
+ static CNssVASDBEvent* NewLC(TVASDBEventType& aType, MNssTag *aTag);
+
+ /**
+ * C++ destructor
+ * @param
+ * @return
+ */
+ ~CNssVASDBEvent();
+
+ /**
+ * Get function to determine the type of event
+ * @since 2.0
+ * @param void
+ * @return Type of event
+ */
+ IMPORT_C TVASDBEventType Type();
+
+ /**
+ * Function to get the tag object on which the event took place.
+ * Deleting the event, deletes the tag associated with it.
+ * @since 2.0
+ * @param void
+ * @return Pointer to a tag object on which event occured
+ */
+ IMPORT_C MNssTag* Tag();
+
+
+ private:
+
+ /**
+ * C++ constructor.
+ */
+ CNssVASDBEvent();
+
+ /**
+ * EPOC Constructor
+ * @param aType - event type,
+ * @param aTag - tag on which the event occured
+ * @return
+ */
+ void ConstructL(TVASDBEventType& aType, MNssTag *aTag);
+
+ // Data
+ TVASDBEventType iType;
+ MNssTag* iTag; // NULL for standard Symbian DBMS events.
+ };
+
+#endif // TVASDBEVENT_H
+
+// End of File