--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xdmprotocols/LocalProtocol/inc/LocalProtocol.h Wed Sep 01 12:23:14 2010 +0100
@@ -0,0 +1,175 @@
+/*
+* Copyright (c) 2005 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: CLocalProtocol
+*
+*/
+
+
+
+
+#ifndef __LOCALPROTOCOL__
+#define __LOCALPROTOCOL__
+
+#include <e32base.h>
+#include "XdmEngine.h"
+#include "XdmProtocol.h"
+#include "XdmShutdownSwitch.h"
+
+//CONSTANTS
+_LIT( KLocalEngLogFile, "LocalProtocol" );
+_LIT( KLocalEngPrivateRoot, "C:\\private\\" );
+const TInt KLocalEngLogBufferMaxSize = 2000;
+
+//FORWARD DECLARATIONS
+class CXdmXmlParser;
+class CXdmLogWriter;
+class CXdmOperationFactory;
+
+//CLASS DECLARATION
+class CLocalProtocol : public CXdmProtocol
+ {
+
+ public:
+
+ /**
+ * Fetch the capabilities for this protocol. May require
+ * network operations.
+ */
+ IMPORT_C static RFs& FileSession();
+
+
+ /**
+ * A Global logging function
+ * @param TRefByValue<const TDesC8> aFmt,...
+ * @return void
+ */
+ IMPORT_C static TPtrC RootFolder();
+
+ private: //From CXdmProtocol
+
+ /**
+ * Initialise the media used to transfer Xdm data
+ */
+ void InitTransferMedium( TInt aIdleTimeout,
+ TRequestStatus& aStatus );
+
+ /**
+ * Cancel initialisation of the transfer media.
+ */
+ void CancelTransferMediumInit();
+
+ /**
+ * Is the transfer medium ready
+ */
+ TBool IsTransferAvailable() const;
+
+ /**
+ * Create a new document node.
+ */
+ CXdmDocumentNode* CreateDocumentNodeL();
+
+ /**
+ * Create a new protocol dependent document model
+ */
+ CXdmDocument* CreateDocumentL( const TDesC& aDocumentName,
+ const TXdmDocType aDocumentType );
+
+ /**
+ * Create a new protocol dependent document model
+ */
+ CXdmDirectory* CreateDirectoryL( const TDesC& aDirectoryPath );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CLocalProtocol();
+
+ public: //Static
+
+ /**
+ * Symbian OS default constructor.
+ * @param TInt Default Access Point ID
+ * @return CXdmDocOperation*
+ */
+ static CLocalProtocol* NewL( const TXdmProtocolParams& aProtocolInfo );
+
+ /**
+ * A Global logging function
+ * @param TRefByValue<const TDesC8> aFmt,...
+ * @return void
+ */
+ RFs& RFSession();
+
+ /**
+ * A Global logging function
+ * @param TRefByValue<const TDesC8> aFmt,...
+ * @return void
+ */
+ TPtrC Root();
+
+ public:
+
+ /**
+ * A logging function
+ * @param TRefByValue<const TDesC8> aFmt,...
+ * @return void
+ */
+ void WriteToLog( TRefByValue<const TDesC8> aFmt,... ) const;
+
+ private: //Methods
+
+ /**
+ * Symbian OS default constructor.
+ * @param TInt Default Access Point ID
+ * @return CXdmDocOperation*
+ */
+ CLocalProtocol( const CXdmEngine& aXdmEngine,
+ const CXdmProtocolInfo& aProtocolInfo );
+
+ /**
+ * Symbian OS default constructor.
+ * @param TInt Default Access Point ID
+ * @return CXdmDocOperation*
+ */
+ void ConstructL();
+
+ /**
+ * Symbian OS default constructor.
+ * @param TInt Default Access Point ID
+ * @return CXdmDocOperation*
+ */
+ void SetRootDirectoryL( const TDesC& aRootPath );
+
+ private:
+
+ /**
+ * From MXdmShutdownSwitch
+ * @return void
+ */
+ //void SwitchOff();
+
+ private: //Data
+
+ RFs iFileSession;
+ TBool iTransferMediaOpen;
+ HBufC* iRootFolder;
+ CXdmEngine& iXdmEngine;
+ CXdmLogWriter* iLogWriter;
+ CXdmXmlParser* iXmlParser;
+ const CXdmProtocolInfo& iProtocolInfo;
+ };
+
+#endif //__LOCALPROTOCOL__
+
+// End of File