#pragma once #include "xnative.hpp" namespace Hxsoft{ namespace XFrame { class IXAServerArg { public: int ClearArgs(); int RemoveArg(LPCTSTR pArgName); int SetArg(LPCTSTR pArgName,LPCTSTR pValue,LPCTSTR pTyp = NULL); int AddArg(LPCTSTR pArgName,LPCTSTR pValue,LPCTSTR pTyp = NULL); int GetArgInt(LPTSTR pArgName); LPTSTR GetArgString(LPTSTR pArgName); bool GetArgBool(LPTSTR pArgName); double GetArgDouble(LPTSTR pArgName); LPCTSTR GetString(); public: int SetParam(LPCTSTR pArgName, LPARAM pValue); LPARAM GetParam(LPCTSTR pArgName); public: static IXAServerArg * CreateInstance(); static int ReleaseInstance(IXAServerArg * pArgs); int SetXml(LPTSTR pStrXml); }; }}; class xaserverarg : public xnative { public: xaserverarg():xnative(Hxsoft::XFrame::IXAServerArg::CreateInstance()){} ~xaserverarg() { Hxsoft::XFrame::IXAServerArg::ReleaseInstance((Hxsoft::XFrame::IXAServerArg*)getNativePointer()); } public: /*int AddArg(string argname,double val,string typ=NULL)// alias "?AddArg@IXAServerArg@XFrame@Hxsoft@@QAEHPB_WNO@Z"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->AddArg(argname,val,typ); } int AddArg(string argname,int val,string typ=NULL) //alias "?AddArg@IXAServerArg@XFrame@Hxsoft@@QAEHPB_WHO@Z"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->AddArg(argname,val,typ); }*/ int AddArg(string argname,string val,string typ=NULL) //alias "?AddArg@IXAServerArg@XFrame@Hxsoft@@QAEHPB_W00@Z"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->AddArg(argname,val,typ); } int ClearArgs() //alias "?ClearArgs@IXAServerArg@XFrame@Hxsoft@@QAEHXZ" from "xframe.dll"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->ClearArgs(); } int RemoveArg(string argname) //alias "?RemoveArg@IXAServerArg@XFrame@Hxsoft@@QAEHPB_W@Z"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->RemoveArg(argname); } /*int SetArg(string argname,double val,string typ=NULL) //alias "?SetArg@IXAServerArg@XFrame@Hxsoft@@QAEHPB_WNO@Z"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->SetArg(argname,val,typ); } int SetArg(string argname,int val,string typ=NULL) //alias "?SetArg@IXAServerArg@XFrame@Hxsoft@@QAEHPB_WHO@Z"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->SetArg(argname,val,typ); }*/ int SetArg(string argname,string val,string typ=NULL) //alias "?SetArg@IXAServerArg@XFrame@Hxsoft@@QAEHPB_W00@Z"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->SetArg(argname,val,typ); } string GetString() //alias "?GetString@IXAServerArg@XFrame@Hxsoft@@QAEPB_WXZ" from "xframe.dll"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetString(); } static void* CreateInstance() //alias "?CreateInstance@IXAServerArg@XFrame@Hxsoft@@SAPAV123@XZ"; { return Hxsoft::XFrame::IXAServerArg::CreateInstance(); } static int ReleaseInstance(void* p) //alias "?ReleaseInstance@IXAServerArg@XFrame@Hxsoft@@SAHPAV123@@Z"; { Hxsoft::XFrame::IXAServerArg::ReleaseInstance((Hxsoft::XFrame::IXAServerArg*)p); return 1; } bool GetArgBool(string argname) //alias "?GetArgBool@IXAServerArg@XFrame@Hxsoft@@QAE_NPA_W@Z"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetArgBool((LPTSTR)argname); } double GetArgDouble(string argname) //alias "?GetArgDouble@IXAServerArg@XFrame@Hxsoft@@QAENPA_W@Z"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetArgDouble((LPTSTR)argname); } int GetArgInt(string argname) //alias "?GetArgInt@IXAServerArg@XFrame@Hxsoft@@QAEHPA_W@Z"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetArgInt((LPTSTR)argname); } string GetArgString(string argname) //alias "?GetArgString@IXAServerArg@XFrame@Hxsoft@@QAEPA_WPA_W@Z"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetArgString((LPTSTR)argname); } int SetParam(LPCTSTR pArgName, LPARAM pValue) { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->SetParam(pArgName,pValue); } LPARAM GetParam(LPCTSTR pArgName) { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetParam(pArgName); } template int SetParam(LPCTSTR pArgName, T pValue) { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->SetParam(pArgName, (LPARAM)pValue); } template T GetParam(LPCTSTR pArgName) { return (T)((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetParam(pArgName); } }; class xaserverargPtr { public: xaserverarg* arg; public: xaserverargPtr() :arg(new xaserverarg) {} xaserverargPtr(LPARAM* val) :arg((xaserverarg*)val) {} xaserverargPtr(xaserverarg* val) :arg(val) {} //xaserverargPtr(xaserverarg val) :arg(new xaserverarg(val)){} public: xaserverarg* value() { return arg; } public: operator xaserverarg& () { return *arg; } operator xaserverarg* () { return arg; } xaserverarg* operator ->() { return arg; } };