LiFan
2024-12-17 e3f724c9fd36995c207a6ed173849c20aaa2e3d7
jrj/xframe/wobject/xaserverarg.hpp
@@ -1,6 +1,6 @@
#pragma once
#include "xnative.hpp"
#include "xcontrol.hpp"
namespace Hxsoft{ namespace XFrame
{
   class IXAServerArg
@@ -26,17 +26,54 @@
      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::ReleaseInstance((Hxsoft::XFrame::IXAServerArg*)getNativePointer());
      ((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";
   {
@@ -46,6 +83,10 @@
   {
      return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->AddArg(argname,val,typ);
   }*/
   int AddArg(string argname, xstring val) //alias "?AddArg@IXAServerArg@XFrame@Hxsoft@@QAEHPB_W00@Z";
   {
      return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->AddArg(argname, val.c_str(), NULL);
   }
   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);
@@ -72,7 +113,7 @@
   {
      return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->SetArg(argname,val,typ);
   }
   string GetString() //alias "?GetString@IXAServerArg@XFrame@Hxsoft@@QAEPB_WXZ"  from "xframe.dll";
   xstring GetString() //alias "?GetString@IXAServerArg@XFrame@Hxsoft@@QAEPB_WXZ"  from "xframe.dll";
   {
      return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetString();
   }
@@ -97,9 +138,24 @@
   {
      return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetArgInt((LPTSTR)argname);
   }
   string GetArgString(string argname) //alias "?GetArgString@IXAServerArg@XFrame@Hxsoft@@QAEPA_WPA_W@Z";
   xstring GetArgString(string argname) //alias "?GetArgString@IXAServerArg@XFrame@Hxsoft@@QAEPA_WPA_W@Z";
   {
      return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetArgString((LPTSTR)argname);
   }
   int SetParam(LPCTSTR pArgName, xcontrol& xc)
   {
      return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->SetParam(pArgName,(LPARAM)xc.getNativePointer());
   }
   int SetParam(LPCTSTR pArgName, HWND hWnd)
   {
      return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->SetParam(pArgName, (LPARAM)hWnd);
   }
   int SetParam(LPCTSTR pArgName, KXMLDOMElement ele)
   {
      return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->SetParam(pArgName, ele.ptr());
   }
   int SetParam(LPCTSTR pArgName, LPARAM pValue)
@@ -112,4 +168,41 @@
      return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetParam(pArgName);
   }
   void* GetControl(LPCTSTR pArgName)
   {
      return (void*)((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetParam(pArgName);
   }
   HWND GetHWND(LPCTSTR pArgName)
   {
      return (HWND)((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetParam(pArgName);
   }
   template<class T>
   int SetParam(LPCTSTR pArgName, T pValue)
   {
      return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->SetParam(pArgName, (LPARAM)pValue);
   }
   template<class T>
   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; }
};