aboutsummaryrefslogtreecommitdiff
path: root/mp/src/public/toolframework/itooldictionary.h
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/public/toolframework/itooldictionary.h')
-rw-r--r--mp/src/public/toolframework/itooldictionary.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/mp/src/public/toolframework/itooldictionary.h b/mp/src/public/toolframework/itooldictionary.h
new file mode 100644
index 00000000..e29af3ea
--- /dev/null
+++ b/mp/src/public/toolframework/itooldictionary.h
@@ -0,0 +1,39 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================
+
+#ifndef ITOOLDICTIONARY_H
+#define ITOOLDICTIONARY_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "appframework/IAppSystem.h"
+
+//-----------------------------------------------------------------------------
+// Forward declaration
+//-----------------------------------------------------------------------------
+class IToolSystem;
+
+
+//-----------------------------------------------------------------------------
+// Purpose: Every tool dll sitting in bin\tools must expose this interface
+// The engine will load the .dll, get this interface, and then ask for all
+// tools in the .dll
+// The engine will call CreateTools just before querying for the tools, so you
+// can instance any dynamically instanced tools during that call
+//-----------------------------------------------------------------------------
+class IToolDictionary : public IAppSystem
+{
+public:
+ virtual void CreateTools() = 0;
+ virtual int GetToolCount() const = 0;
+ virtual IToolSystem *GetTool( int index ) = 0;
+};
+
+#define VTOOLDICTIONARY_INTERFACE_VERSION "VTOOLDICTIONARY002"
+
+#endif // ITOOLDICTIONARY_H