void initPluginAgentMsgCopy(PFO_PluginAgent& );
class CPlImplMsgCopy : public QFIXFLEX_NMSP::CPluginImplBase<CPlImplMsgCopy>
{
public:
CPlImplMsgCopy() : m_pMgr(NULL), m_bDoRecovery(false)
{
}
~CPlImplMsgCopy()
{
if (NULL != m_pMgr)
{
delete m_pMgr;
m_pMgr = NULL;
}
}
static const std::string& name()
{
static const std::string s_name("MSGCOPY");
return s_name;
}
private static void processFuncName(IIndex index, IASTName funcName) {
// find bindings for name
try {
index.acquireReadLock();
IBinding binding = funcName.resolveBinding();
if (binding != null) {
display(binding.getName());
IIndexBinding[] bindings= index.findBindings(binding.getName().toCharArray(), IndexFilter.ALL_DECLARED, new NullProgressMonitor());
display("bindings=" + bindings.length);
for (IIndexBinding b : bindings) {
if (binding instanceof IFunction) {
outputReferences(index, binding);
} else {
display("non IFunction");
}
}
}
} catch (CoreException e) {
log.error(e.getMessage());
} catch (InterruptedException e) {
log.error(e.getMessage());
} finally {
index.releaseReadLock();
}
}