From 82cbee210d4cc5b64329ee106d67f3e6a475b5f1 Mon Sep 17 00:00:00 2001
From: jdh8d <jdh8d@git.zephyr-software.com>
Date: Thu, 22 Oct 2015 15:56:56 +0000
Subject: [PATCH] Broken version being committed, so will can commit his broken
 version so we can both finish our hacking without dealing with repo
 conflicts.

---
 include/zipr.h        | 15 ++++++++++++---
 include/zipr_plugin.h |  2 ++
 include/zipr_sdk.h    |  6 +++++-
 3 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/include/zipr.h b/include/zipr.h
index c8a7e86..d08bc64 100644
--- a/include/zipr.h
+++ b/include/zipr.h
@@ -31,11 +31,14 @@
 #ifndef zipr_h
 #define zipr_h
 
-class Zipr_t
+#include <memory_space.h>
+
+
+namespace Zipr_SDK
 {
-	public:
-		Zipr_t() {}; 
 
+class Zipr_t
+{
 	protected:
 		/*
 		 * Private, but listing them here so that SDK users
@@ -64,6 +67,12 @@ class Zipr_t
 		virtual Zipr_SDK::RangeAddress_t PlopInstruction(libIRDB::Instruction_t* insn, Zipr_SDK::RangeAddress_t addr) = 0;
 		virtual Zipr_SDK::RangeAddress_t PlopWithTarget(libIRDB::Instruction_t* insn, Zipr_SDK::RangeAddress_t at) = 0;
 		virtual Zipr_SDK::RangeAddress_t PlopWithCallback(libIRDB::Instruction_t* insn, Zipr_SDK::RangeAddress_t at) = 0;
+        	virtual Zipr_SDK::MemorySpace_t *GetMemorySpace()=0;
+        	virtual ELFIO::elfio *GetELFIO()=0;
+        	virtual libIRDB::FileIR_t *GetFileIR()=0;
+        	virtual Zipr_SDK::InstructionLocationMap_t *GetLocationMap()=0; 
+};
+
 };
 
 #endif
diff --git a/include/zipr_plugin.h b/include/zipr_plugin.h
index 935f85c..1034c42 100644
--- a/include/zipr_plugin.h
+++ b/include/zipr_plugin.h
@@ -3,6 +3,8 @@ namespace Zipr_SDK
 {
 typedef std::map<libIRDB::Instruction_t*,Zipr_SDK::RangeAddress_t> InstructionLocationMap_t;
 
+class Zipr_t;
+
 class ZiprPluginInterface_t
 {
 	public:
diff --git a/include/zipr_sdk.h b/include/zipr_sdk.h
index e9ca4ca..c614460 100644
--- a/include/zipr_sdk.h
+++ b/include/zipr_sdk.h
@@ -48,9 +48,13 @@
 
 // SDK internals
 #include <range.h>
-#include <zipr.h>
 #include <memory_space.h>
 #include <zipr_options.h>
 #include <zipr_plugin.h>
+#include <zipr.h>
+
+extern "C"
+Zipr_SDK::ZiprPluginInterface_t* GetPluginInterface(Zipr_SDK::Zipr_t* zipr_main_object);
+
 
 #endif
-- 
GitLab