#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); public: unsigned long AddRef_(); unsigned long Release_(); }; }}; using kxaserverarg = Hxsoft::XFrame::IXAServerArg; class xaserverarg : public xnative { public: xaserverarg(kxaserverarg* impl) :xnative(impl) {} xaserverarg():xnative(Hxsoft::XFrame::IXAServerArg::CreateInstance()){} xaserverarg(xaserverarg& rhs) { if(rhs.GetKXAServerArg()) rhs.GetKXAServerArg()->AddRef_(); this->setNativePointer(rhs.GetNativePtr()); } xaserverarg(xaserverarg&& rhs) { ((kxaserverarg*)rhs.getNativePointer())->AddRef_(); this->setNativePointer(rhs.GetNativePtr()); } ~xaserverarg() { ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->Release_(); //Hxsoft::XFrame::IXAServerArg::ReleaseInstance((Hxsoft::XFrame::IXAServerArg*)getNativePointer()); } public: kxaserverarg* GetKXAServerArg() { return (kxaserverarg*)this->GetNativePtr(); } public: xaserverarg& operator =(xaserverarg& rhs) { return operator =(rhs.GetKXAServerArg()); } xaserverarg& operator =(kxaserverarg* rhs) { if (GetKXAServerArg())GetKXAServerArg()->Release_(); if (rhs)rhs->AddRef_(); SetNativePtr(rhs); return *this; } operator LPARAM() { return (LPARAM)this; } 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; } };