#ifndef _PLUGIN_OBJECT_
#define _PLUGIN_OBJECT_

/////////////////////////////////////////////////////
#include "Header.h"
#include "PlugInbase.h"
#include "Include/RunTimeEnv.h"
#include "Include/MsgTranslater.h"
#include "Include/Tracer.h"

struct PlugInLookupTableEnt
{
    char	*szFuncName;
    DWORD   (*func)(void* pParent, unsigned int params_num, DWORD params[]);
};

///////////////////////////////////////
class CPlugIn: public CPlugInbase
{
public:
    OTSTR m_szPlugInName;

public:
    CPlugIn();
   ~CPlugIn();
    
    char* GetPlugName(long& version);
    
    ///////////////////////////////////////////////
    void  Release();

    void* GetFunctionList();
    
    ///////////////////////////////////////////////
    // Add your Function Header here
    static DWORD TimestampToDateStream(void* pParent, unsigned int params_num, DWORD params[]);
};

/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
// Register your PlugIn Function 

static struct PlugInLookupTableEnt Tbl_FuncList[] = 
{	
    { "TimestampToDateStream",	&CPlugIn::TimestampToDateStream },
    { 0,			            NULL }
};


#endif
