Redesign libbcc api.
diff --git a/lib/bcc/ScriptCached.cpp b/lib/bcc/ScriptCached.cpp
index 8011458..b4cf99d 100644
--- a/lib/bcc/ScriptCached.cpp
+++ b/lib/bcc/ScriptCached.cpp
@@ -22,7 +22,6 @@
#include <bcc/bcc_cache.h>
#include "ContextManager.h"
-#include "EmittedFuncInfo.h"
#include <stdlib.h>
@@ -96,41 +95,25 @@
}
-void ScriptCached::getFuncNameList(size_t funcNameListSize,
- char const **funcNameList) {
- if (funcNameList) {
+void ScriptCached::getFuncInfoList(size_t funcInfoListSize,
+ FuncInfo *funcInfoList) {
+ if (funcInfoList) {
size_t funcCount = getFuncCount();
- if (funcCount > funcNameListSize) {
- funcCount = funcNameListSize;
+ if (funcCount > funcInfoListSize) {
+ funcCount = funcInfoListSize;
}
+ FuncInfo *info = funcInfoList;
for (FuncTable::const_iterator
I = mFunctions.begin(), E = mFunctions.end();
- I != E && funcCount > 0; I++, funcCount--) {
- *funcNameList++ = I->first.c_str();
+ I != E && funcCount > 0; ++I, ++info, --funcCount) {
+ info->name = I->first.c_str();
+ info->addr = I->second.first;
+ info->size = I->second.second;
}
}
}
-void ScriptCached::getFuncBinary(char const *funcname,
- void **base,
- size_t *length) {
- FuncTable::const_iterator I = mFunctions.find(funcname);
-
-#define DEREF_ASSIGN(VAR, VALUE) if (VAR) { *(VAR) = (VALUE); }
-
- if (I == mFunctions.end()) {
- DEREF_ASSIGN(base, NULL);
- DEREF_ASSIGN(length, 0);
- } else {
- DEREF_ASSIGN(base, I->second.first);
- DEREF_ASSIGN(length, I->second.second);
- }
-
-#undef DEREF_ASSIGN
-}
-
-
} // namespace bcc