libraries/extrabtrace/inc/extrabtrace.h
changeset 0 7f656887cf89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libraries/extrabtrace/inc/extrabtrace.h	Wed Jun 23 15:52:26 2010 +0100
@@ -0,0 +1,91 @@
+// extrabtrace.h
+// 
+// Copyright (c) 2010 Accenture. All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the "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:
+// Accenture - Initial contribution
+//
+#ifndef EXTRABTRACE_H
+#define EXTRABTRACE_H
+
+#include <fshell/common.mmh>
+
+#ifdef __KERNEL_MODE__
+#include <e32def.h>
+#else
+#include <e32std.h>
+#endif
+
+namespace ExtraBTrace
+	{
+
+	enum TCategory
+		{
+		/**
+		Supported by memoryaccess-fshell.ldd
+		*/
+		EPubSub = 213,
+
+		/**
+		Filesystem tracing from ffstracer (fshell addition).
+		*/
+		EFfsTrace = 214,
+
+		};
+
+	enum TPubSub
+		{
+		EPubSubIntPropertyChanged = 0,
+		EPubSubDataPropertyChanged = 1,
+		};
+
+	// As used by category EFfsTrace
+	enum TFfsTrace
+		{
+		EFfsDelete = 0,
+		EFfsRename,
+		EFfsReplace,
+		EFfsEntry,
+		EFfsFileSubClose,
+		EFfsFileOpen,
+		EFfsFileCreate,
+		EFfsFileReplace,
+		EFfsFileTemp,
+		EFfsFileRename,
+
+		EFfsPost = 128,
+		};
+	}
+
+#ifndef __KERNEL_MODE__
+
+class RExtraBtrace
+	{
+public:
+	IMPORT_C RExtraBtrace();
+	IMPORT_C TInt Connect();
+	IMPORT_C void Close();
+
+	IMPORT_C TInt EnableProfiling(TInt aSamplingPeriod); // in milliseconds. Pass aRate of zero to disable
+
+public:
+	IMPORT_C TInt Handle() const;
+
+private:
+	TInt32 iImpl[5];
+	};
+
+#endif // __KERNEL_MODE__
+
+// Include the actual btrace header - do this after RExtraBtrace so that in principle someone could subclass it in their custom header
+#ifdef FSHELL_CUSTOM_BTRACE_HEADER
+#include FSHELL_CUSTOM_BTRACE_HEADER
+#else
+#include <e32btrace.h>
+#endif
+
+#endif // EXTRABTRACE_H