From 1b9fe8ec6019e2021a2c447e01a9eaf941b561e2 Mon Sep 17 00:00:00 2001
From: jdh8d <jdh8d@git.zephyr-software.com>
Date: Thu, 22 Oct 2015 16:14:01 +0000
Subject: [PATCH] Update to call GetPluginInterface properly

---
 include/plugin_man.h | 27 +++++++++------------------
 src/plugin_man.cpp   | 12 ++++--------
 src/zipr.cpp         |  2 +-
 3 files changed, 14 insertions(+), 27 deletions(-)

diff --git a/include/plugin_man.h b/include/plugin_man.h
index 357dca6ce..658a4257d 100644
--- a/include/plugin_man.h
+++ b/include/plugin_man.h
@@ -5,10 +5,7 @@ typedef Zipr_SDK::ZiprPluginInterface_t* DLFunctionHandle_t;
 typedef std::set<DLFunctionHandle_t> DLFunctionHandleSet_t;
 
 typedef Zipr_SDK::ZiprPluginInterface_t* (*GetPluginInterface_t)(
-        Zipr_SDK::MemorySpace_t *p_ms,
-        ELFIO::elfio *p_elfio,
-        libIRDB::FileIR_t *p_firp,
-        Zipr_SDK::InstructionLocationMap_t *p_fil
+	Zipr_SDK::Zipr_t*
 	);
 
 
@@ -21,20 +18,17 @@ class ZiprPluginManager_t : public ZiprPluginInterface_t
 
 		ZiprPluginManager_t
 			(
-        		 Zipr_SDK::MemorySpace_t *p_ms,
-        		 ELFIO::elfio *p_elfio,
-        		 libIRDB::FileIR_t *p_firp,
-        		 Zipr_SDK::ZiprOptions_t *p_opts,
-        		 Zipr_SDK::InstructionLocationMap_t *p_fil
+				Zipr_SDK::Zipr_t* zipr_obj,
+				Zipr_SDK::ZiprOptions_t *p_opts
 			)
 			:
-			m_verbose("verbose"),
-			m_opts(p_opts)
+				m_verbose("verbose"),
+				m_opts(p_opts)
 			{
 				ZiprOptionsNamespace_t *opts_global_ns = m_opts->Namespace("global");
 				if (opts_global_ns)
 					opts_global_ns->AddOption(&m_verbose);
-				open_plugins(p_ms,p_elfio,p_firp,p_opts,p_fil);
+				open_plugins(zipr_obj, p_opts);
 			}
 
         	virtual void PinningBegin();
@@ -46,17 +40,14 @@ class ZiprPluginManager_t : public ZiprPluginInterface_t
         	virtual void CallbackLinkingBegin();
         	virtual void CallbackLinkingEnd();
 
-					virtual bool DoesPluginPlop(libIRDB::Instruction_t*,DLFunctionHandle_t&);
+		virtual bool DoesPluginPlop(libIRDB::Instruction_t*,DLFunctionHandle_t&);
 
 	private:
 
 		void open_plugins
 			(
-        		 Zipr_SDK::MemorySpace_t *p_ms,
-        		 ELFIO::elfio *p_elfio,
-        		 libIRDB::FileIR_t *p_firp,
-        		 Zipr_SDK::ZiprOptions_t *p_opts,
-        		 Zipr_SDK::InstructionLocationMap_t *p_fil
+				Zipr_SDK::Zipr_t* zipr_obj,
+				Zipr_SDK::ZiprOptions_t *p_opts
 			);
 		ZiprBooleanOption_t m_verbose;
 		ZiprOptions_t *m_opts;
diff --git a/src/plugin_man.cpp b/src/plugin_man.cpp
index eab42e0b9..bdde51fa3 100644
--- a/src/plugin_man.cpp
+++ b/src/plugin_man.cpp
@@ -98,11 +98,8 @@ bool ZiprPluginManager_t::DoesPluginPlop(Instruction_t *insn, DLFunctionHandle_t
 
 void ZiprPluginManager_t::open_plugins
                         (
-                         Zipr_SDK::MemorySpace_t *p_ms,
-                         ELFIO::elfio *p_elfio,
-                         libIRDB::FileIR_t *p_firp,
-                         Zipr_SDK::ZiprOptions_t *p_opts,
-                         Zipr_SDK::InstructionLocationMap_t *p_fil
+				Zipr_SDK::Zipr_t* zipr_obj,
+				Zipr_SDK::ZiprOptions_t *p_opts
                         )
 {
 	char* zinst=getenv("ZIPR_INSTALL");
@@ -157,9 +154,8 @@ void ZiprPluginManager_t::open_plugins
 		}
 
 		ZiprOptionsNamespace_t *global_ns = p_opts->Namespace("global");
-		GetPluginInterface_t GetPluginInterface=(GetPluginInterface_t)sym;
-		Zipr_SDK::ZiprPluginInterface_t *interface=(*GetPluginInterface)(p_ms,p_elfio,p_firp,p_fil);
-
+		GetPluginInterface_t my_GetPluginInterface=(GetPluginInterface_t)sym;
+		Zipr_SDK::ZiprPluginInterface_t *interface=(*my_GetPluginInterface)(zipr_obj);
 
 		if(!interface)
 		{
diff --git a/src/zipr.cpp b/src/zipr.cpp
index 3207cfd5f..48dd4ccd9 100644
--- a/src/zipr.cpp
+++ b/src/zipr.cpp
@@ -109,7 +109,7 @@ void ZiprImpl_t::Init()
 
 		}
 	}
-	plugman = ZiprPluginManager_t(&memory_space, elfiop, m_firp, &m_zipr_options, &final_insn_locations);
+	plugman = ZiprPluginManager_t(this, &m_zipr_options);
 
 	/*
 	 * Parse again now that the plugins registered something.
-- 
GitLab