serviceproviders/sapi_logging/loggingservice/inc/loggingservice.h
changeset 5 989d2f495d90
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/serviceproviders/sapi_logging/loggingservice/inc/loggingservice.h	Fri Jul 03 15:51:24 2009 +0100
@@ -0,0 +1,162 @@
+/*
+* 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 the License "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:  Includes logging synchronous service methods.
+*
+*/
+
+
+#ifndef LOGGINGDELIGATOR_H
+#define LOGGINGDELIGATOR_H
+
+
+/**
+* Forward Declarations
+*/
+class CLogAsyncService  ;
+class CLogSyncService   ;
+class CLogsEvent        ;
+class CLogsFilter       ;
+class MLoggingCallback  ;
+class CCallbackSlot ;
+class CLogIter      ;
+
+/**
+* CLoggingService: Deligator class declariation, this is a wrapper class
+* for all the functionalities offers by symbian logging service.
+*/
+
+
+class CLoggingService : public CBase
+    {
+    public :
+        /**
+        *  NewL: Two phased construction
+        */
+
+        IMPORT_C static CLoggingService* NewL() ;
+
+        /**
+        * NewLC: Creates an instance of CLogSyncServiceClass
+        * Two Phased constructor
+        * returns newly allocated object.
+        */
+
+        static CLoggingService* NewLC() ;
+
+        /**
+        * Default Destructor.
+        */
+
+        ~CLoggingService() ;
+
+        /**
+        * Adds an event to the event database synchronously
+        * @parm Details of the event to be logged
+        */
+
+        IMPORT_C TLogId AddEventL( CLogsEvent *aSapiEvent ) ;
+
+        
+        /**
+        * Async AddEvent function. adds an Event asynchronously
+        * do event database
+        * @param aEvent, details of the event to be added to the
+        * event database
+        */
+
+        IMPORT_C TInt AddEventL( TUint aTransId ,
+                                 CLogsEvent* aSapiEvent ,
+                                 MLoggingCallback* aCallback ) ;
+        /**
+        * Deletes an event from the event database synchronously
+        * @parm Details of the event to be logged
+        * @param aFilter, search criteria for this event in event database
+        */
+
+        IMPORT_C TInt DeleteEventL( TLogId aLogId );
+
+        /**
+        * Deletes a event from the event database
+        * @param aLogId Event id of the event in the database
+        * @param aFilter, search criteria for this event in event database
+        */
+
+        IMPORT_C void DeleteEventL( TUint aTransId ,
+                                    TLogId aLogId,
+                                    MLoggingCallback* aCallback ) ;
+
+        /**
+        * Gets the list of items from the log database synchronously
+        * @param aTransId: Transaction ID.
+        * @param aCallBack: Notify callback object
+        * @param aFilter : Query Criteria for log database
+        */
+
+        IMPORT_C CLogIter* GetListL( CLogsFilter* aFilter ) ;
+
+        /**
+        * Gets the list of items from the log database asynchronously
+        * @param aTransId: Transaction ID.
+        * @param aFilter : Query Criteria for log database
+        */
+
+        IMPORT_C TInt GetListL( TUint aTransId ,
+                                CLogsFilter* aFilter ,
+                                MLoggingCallback* aCallback ) ;
+
+        /**
+        * NotifyUpdatesL, overloaded function for Notifications
+        *
+        * aUid, Transation Id
+        * @param aDelay, Minium delay for reciving the updates
+        * @param aCallback callback address for notifications
+        */
+
+        IMPORT_C TInt NotifyUpdatesL( TUint aUid ,
+                                      TTimeIntervalMicroSeconds32 aDelay ,
+                                      MLoggingCallback *aCallback );
+
+        /**
+        * CancelServiceL, cancels the on going service
+        * @param aTransid
+        */
+
+        IMPORT_C TInt CancelServiceL( TUint aTransid );
+
+
+        protected :
+
+        /**
+        * ConstructL(): Internal method to construct members
+        */
+
+        void ConstructL() ;
+
+        /**
+        * Default constructor
+        */
+
+        CLoggingService() ;
+
+
+
+    private :
+
+        CLogSyncService *iLogService ;
+        CLogsEvent*       iSapiEvent;
+        RArray <CCallbackSlot *> iRegTable ;
+
+    };
+
+#endif