EventArgs.hpp 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891
  1. #pragma once
  2. #include "DelegateArg.hpp"
  3. #include "WString.hpp"
  4. #ifndef _DELEGATEARG_DLL
  5. #define DELEGATEARG_API _declspec(dllimport)
  6. #else
  7. #define DELEGATEARG_API _declspec(dllexport)
  8. #endif
  9. #pragma warning (disable : 4275)
  10. class DDateTime;
  11. namespace ECOM
  12. {
  13. namespace DICOM
  14. {
  15. class DICOMDataSet;
  16. class DICOMFile;
  17. class DICOMCommandSet;
  18. }
  19. }
  20. class ImageShow;
  21. class DicomFileHolder;
  22. class DString;
  23. class DStringArray;
  24. struct __EventArg_DWString
  25. {
  26. DString m_sString;
  27. WString m_wString;
  28. __EventArg_DWString ()
  29. {
  30. }
  31. __EventArg_DWString (const __EventArg_DWString & from)
  32. {
  33. m_sString = from.m_sString;
  34. m_wString = from.m_wString;
  35. }
  36. void Set (const DString & str) { m_sString = str; }
  37. void Set (const WString & str) { m_wString = str; }
  38. template <typename T> T Get () const { }
  39. template <> DString Get () const { return m_sString; }
  40. template <> WString Get () const { return m_wString; }
  41. template <typename T> T GetAs () const { }
  42. template <> DString GetAs () const { if (m_sString.GetLength () > 0) return m_sString; return m_wString.ToDString (); }
  43. template <> WString GetAs () const { if (m_wString.GetLength () > 0) return m_wString; return WString (m_sString); }
  44. __EventArg_DWString & operator = (const DString & str)
  45. {
  46. Set (str);
  47. return (*this);
  48. }
  49. __EventArg_DWString & operator = (const WString & str)
  50. {
  51. Set (str);
  52. return (*this);
  53. }
  54. __EventArg_DWString & operator = (const __EventArg_DWString & from)
  55. {
  56. if (this == &from) return (*this);
  57. m_sString = from.m_sString;
  58. m_wString = from.m_wString;
  59. return (*this);
  60. }
  61. inline operator DString () const
  62. {
  63. return GetAs <DString> ();
  64. }
  65. inline operator WString () const
  66. {
  67. return GetAs <WString> ();
  68. }
  69. };
  70. //-----------------------------------------------------------------------------
  71. // A general DelegateArg of Error
  72. //-----------------------------------------------------------------------------
  73. class DELEGATEARG_API EventArgs_Error : public DelegateArgs
  74. {
  75. typedef DelegateArgs inherited;
  76. DECLARE_RTTI (EventArgs_Error)
  77. public:
  78. inline EventArgs_Error (int ec)
  79. {
  80. iReserved1 = iReserved2 = iReserved3 = iReserved4 = 0;
  81. ErrorCode = ec;
  82. }
  83. inline EventArgs_Error (int ec, const DString & Msg)
  84. {
  85. iReserved1 = iReserved2 = iReserved3 = iReserved4 = 0;
  86. ErrorCode = ec;
  87. Message = Msg;
  88. }
  89. inline EventArgs_Error (int ec, const WString & Msg)
  90. {
  91. iReserved1 = iReserved2 = iReserved3 = iReserved4 = 0;
  92. ErrorCode = ec;
  93. Message = Msg;
  94. }
  95. inline EventArgs_Error (int ec, const DString & Msg, const DString & Src)
  96. {
  97. iReserved1 = iReserved2 = iReserved3 = iReserved4 = 0;
  98. ErrorCode = ec;
  99. Message = Msg;
  100. Source = Src;
  101. }
  102. public:
  103. int ErrorCode; // 错误代码
  104. int iReserved1; // 保留
  105. int iReserved2; // 保留
  106. int iReserved3; // 保留
  107. int iReserved4; // 保留
  108. DString sReserved1; // 保留
  109. DString sReserved2; // 保留
  110. WString wReserved1; // 保留
  111. WString wReserved2; // 保留
  112. public:
  113. __EventArg_DWString Message; // 错误信息
  114. __EventArg_DWString Detail; // 错误的详细信息
  115. __EventArg_DWString Comment; // 说明或注释
  116. __EventArg_DWString Suggestion; // 建议采取的动作
  117. __EventArg_DWString Source; // 发生错误的位置 (源代码文件名,行号,模块名,类名,函数名,等)
  118. };
  119. //-----------------------------------------------------------------------------
  120. // A general DelegateArg of Pointer
  121. //-----------------------------------------------------------------------------
  122. class DELEGATEARG_API EventArgs_Pointer : public DelegateArgs
  123. {
  124. typedef DelegateArgs inherited;
  125. DECLARE_RTTI (EventArgs_Pointer)
  126. public:
  127. inline EventArgs_Pointer (void * ptr)
  128. {
  129. m_Pointer = ptr;
  130. }
  131. public:
  132. void * m_Pointer;
  133. };
  134. //-----------------------------------------------------------------------------
  135. // A general DelegateArg of DateTime
  136. //-----------------------------------------------------------------------------
  137. class DELEGATEARG_API EventArgs_DateTime : public DelegateArgs
  138. {
  139. typedef DelegateArgs inherited;
  140. DECLARE_RTTI (EventArgs_DateTime)
  141. public:
  142. inline EventArgs_DateTime (DDateTime * Now)
  143. {
  144. m_pNow = Now;
  145. }
  146. public:
  147. const DDateTime * m_pNow;
  148. };
  149. //-----------------------------------------------------------------------------
  150. // A general DelegateArg of int
  151. //-----------------------------------------------------------------------------
  152. class DELEGATEARG_API EventArgs_Int : public DelegateArgs
  153. {
  154. typedef DelegateArgs inherited;
  155. DECLARE_RTTI (EventArgs_Int)
  156. public:
  157. inline EventArgs_Int (int i)
  158. {
  159. m_int = i;
  160. }
  161. public:
  162. int m_int;
  163. };
  164. class DELEGATEARG_API EventArgs_2Int : public DelegateArgs
  165. {
  166. typedef DelegateArgs inherited;
  167. DECLARE_RTTI (EventArgs_2Int)
  168. public:
  169. inline EventArgs_2Int (int i1, int i2)
  170. {
  171. m_int1 = i1;
  172. m_int2 = i2;
  173. }
  174. public:
  175. int m_int1;
  176. int m_int2;
  177. };
  178. class DELEGATEARG_API EventArgs_3Int : public DelegateArgs
  179. {
  180. typedef DelegateArgs inherited;
  181. DECLARE_RTTI (EventArgs_3Int)
  182. public:
  183. inline EventArgs_3Int (int i1, int i2, int i3)
  184. {
  185. m_int1 = i1;
  186. m_int2 = i2;
  187. m_int3 = i3;
  188. }
  189. public:
  190. int m_int1;
  191. int m_int2;
  192. int m_int3;
  193. };
  194. class DELEGATEARG_API EventArgs_4Int : public DelegateArgs
  195. {
  196. typedef DelegateArgs inherited;
  197. DECLARE_RTTI (EventArgs_4Int)
  198. public:
  199. inline EventArgs_4Int (int i1, int i2, int i3, int i4)
  200. {
  201. m_int1 = i1;
  202. m_int2 = i2;
  203. m_int3 = i3;
  204. m_int4 = i4;
  205. }
  206. public:
  207. int m_int1;
  208. int m_int2;
  209. int m_int3;
  210. int m_int4;
  211. };
  212. class DELEGATEARG_API EventArgs_5Int : public DelegateArgs
  213. {
  214. typedef DelegateArgs inherited;
  215. DECLARE_RTTI (EventArgs_5Int)
  216. public:
  217. inline EventArgs_5Int (int i1, int i2, int i3, int i4, int i5)
  218. {
  219. m_int1 = i1;
  220. m_int2 = i2;
  221. m_int3 = i3;
  222. m_int4 = i4;
  223. m_int5 = i5;
  224. }
  225. public:
  226. int m_int1;
  227. int m_int2;
  228. int m_int3;
  229. int m_int4;
  230. int m_int5;
  231. };
  232. //-----------------------------------------------------------------------------
  233. // A general DelegateArg of double
  234. //-----------------------------------------------------------------------------
  235. class DELEGATEARG_API EventArgs_Double : public DelegateArgs
  236. {
  237. typedef DelegateArgs inherited;
  238. DECLARE_RTTI (EventArgs_Double)
  239. public:
  240. inline EventArgs_Double (double d)
  241. {
  242. m_double = d;
  243. }
  244. public:
  245. double m_double;
  246. };
  247. //-----------------------------------------------------------------------------
  248. // A general DelegateArg of DString
  249. //-----------------------------------------------------------------------------
  250. class DELEGATEARG_API EventArgs_String : public DelegateArgs
  251. {
  252. typedef DelegateArgs inherited;
  253. DECLARE_RTTI (EventArgs_String)
  254. public:
  255. inline EventArgs_String (DString s)
  256. {
  257. m_String = s;
  258. }
  259. public:
  260. DString m_String;
  261. };
  262. class DELEGATEARG_API EventArgs_2String : public EventArgs_String
  263. {
  264. typedef EventArgs_String inherited;
  265. DECLARE_RTTI (EventArgs_2String)
  266. public:
  267. inline EventArgs_2String (DString s1, DString s2) : inherited (s1), m_String1 (s1)
  268. {
  269. m_String2 = s2;
  270. }
  271. public:
  272. DString & m_String1;
  273. DString m_String2;
  274. };
  275. class DELEGATEARG_API EventArgs_4String : public DelegateArgs
  276. {
  277. typedef DelegateArgs inherited;
  278. DECLARE_RTTI (EventArgs_4String)
  279. public:
  280. DString m_String [4];
  281. };
  282. class DELEGATEARG_API EventArgs_8String : public DelegateArgs
  283. {
  284. typedef DelegateArgs inherited;
  285. DECLARE_RTTI (EventArgs_8String)
  286. public:
  287. EventArgs_8String ()
  288. {
  289. }
  290. EventArgs_8String (const EventArgs_8String & from)
  291. {
  292. from.CopyTo (*this);
  293. }
  294. public:
  295. DString m_String [8];
  296. public:
  297. void CopyTo (EventArgs_8String & to) const
  298. {
  299. for (int Index=0; Index<8; Index++)
  300. {
  301. to.m_String [Index] = m_String [Index];
  302. }
  303. }
  304. bool IsEqual (const EventArgs_8String & to) const
  305. {
  306. for (int Index=0; Index<8; Index++)
  307. {
  308. if (to.m_String [Index] != m_String [Index])
  309. return false;
  310. }
  311. return true;
  312. }
  313. EventArgs_8String & operator = (const EventArgs_8String & from)
  314. {
  315. from.CopyTo (*this);
  316. return (*this);
  317. }
  318. };
  319. inline bool __stdcall operator == (const EventArgs_8String& s1, const EventArgs_8String& s2)
  320. {
  321. return s1.IsEqual (s2);
  322. }
  323. //-----------------------------------------------------------------------------
  324. // A general DelegateArg of WString
  325. //-----------------------------------------------------------------------------
  326. class DELEGATEARG_API EventArgs_WString : public DelegateArgs
  327. {
  328. typedef DelegateArgs inherited;
  329. DECLARE_RTTI (EventArgs_WString)
  330. public:
  331. inline EventArgs_WString (WString s)
  332. {
  333. m_String = s;
  334. }
  335. public:
  336. WString m_String;
  337. };
  338. class DELEGATEARG_API EventArgs_2WString : public EventArgs_WString
  339. {
  340. typedef EventArgs_WString inherited;
  341. DECLARE_RTTI (EventArgs_2WString)
  342. public:
  343. inline EventArgs_2WString (WString s1, WString s2) : inherited (s1), m_String1 (s1)
  344. {
  345. m_String2 = s2;
  346. }
  347. public:
  348. WString & m_String1;
  349. WString m_String2;
  350. };
  351. //-----------------------------------------------------------------------------
  352. // A general DelegateArg of DString & WString
  353. //-----------------------------------------------------------------------------
  354. class DELEGATEARG_API EventArgs_DWString : public DelegateArgs
  355. {
  356. typedef DelegateArgs inherited;
  357. DECLARE_RTTI (EventArgs_DWString)
  358. public:
  359. inline EventArgs_DWString (WString ws, DString ds)
  360. {
  361. m_wString = ws;
  362. m_dString = ds;
  363. }
  364. public:
  365. WString m_wString;
  366. DString m_dString;
  367. };
  368. class DELEGATEARG_API EventArgs_2DWString : public EventArgs_DWString
  369. {
  370. typedef EventArgs_DWString inherited;
  371. DECLARE_RTTI (EventArgs_2DWString)
  372. public:
  373. inline EventArgs_2DWString (WString ws1, DString ds1, WString ws2, DString ds2) :
  374. inherited (ws1, ds1),
  375. m_wString1 (ws1),
  376. m_dString1 (ds1)
  377. {
  378. m_wString2 = ws2;
  379. m_dString2 = ds2;
  380. }
  381. public:
  382. WString & m_wString1;
  383. DString & m_dString1;
  384. WString m_wString2;
  385. DString m_dString2;
  386. };
  387. //-----------------------------------------------------------------------------
  388. // A general DelegateArg of DICOM DataSet
  389. //-----------------------------------------------------------------------------
  390. class DELEGATEARG_API EventArgs_DataSet : public DelegateArgs
  391. {
  392. typedef DelegateArgs inherited;
  393. DECLARE_RTTI (EventArgs_DataSet)
  394. public:
  395. inline EventArgs_DataSet (const ECOM::DICOM::DICOMDataSet * dds)
  396. {
  397. m_DDS = dds;
  398. }
  399. public:
  400. const ECOM::DICOM::DICOMDataSet * m_DDS;
  401. };
  402. class DELEGATEARG_API EventArgs_DataSetEx : public EventArgs_DataSet
  403. {
  404. typedef EventArgs_DataSet inherited;
  405. DECLARE_RTTI (EventArgs_DataSetEx)
  406. public:
  407. inline EventArgs_DataSetEx (const ECOM::DICOM::DICOMDataSet * DDS, DString LocalAE, DString RemoteAE)
  408. : inherited (DDS)
  409. {
  410. m_LocalAETitle = LocalAE;
  411. m_RemoteAETitle = RemoteAE;
  412. }
  413. public:
  414. DString m_LocalAETitle;
  415. DString m_RemoteAETitle;
  416. };
  417. /*
  418. class DELEGATEARG_API EventArgs_DataSetEx2 : public EventArgs_DataSetEx
  419. {
  420. typedef EventArgs_DataSetEx inherited;
  421. DECLARE_RTTI (EventArgs_DataSetEx2)
  422. public:
  423. inline EventArgs_DataSetEx2 (const DICOMDataSet * DDS, DString LocalAE, DString RemoteAE)
  424. : inherited (DDS, LocalAE, RemoteAE)
  425. {
  426. Reverse1 = Reverse2 = Reverse3 = Reverse4 = 0;
  427. }
  428. public:
  429. DWORD Reverse1;
  430. DWORD Reverse2;
  431. DWORD Reverse3;
  432. DWORD Reverse4;
  433. };
  434. */
  435. #if 0
  436. //-----------------------------------------------------------------------------
  437. // A general DelegateArg of FileName
  438. //-----------------------------------------------------------------------------
  439. class DELEGATEARG_API EventArgs_FileName : public DelegateArgs
  440. {
  441. typedef DelegateArgs inherited;
  442. DECLARE_RTTI (EventArgs_FileName)
  443. public:
  444. inline EventArgs_FileName (WString FN)
  445. {
  446. m_FileName = FN;
  447. }
  448. public:
  449. WString m_FileName;
  450. };
  451. #else
  452. class DELEGATEARG_API EventArgs_FileName : public EventArgs_WString
  453. {
  454. typedef EventArgs_WString inherited;
  455. DECLARE_RTTI (EventArgs_FileName)
  456. public:
  457. inline EventArgs_FileName (WString FN) : inherited (FN), m_FileName (m_String)
  458. {
  459. }
  460. public:
  461. WString & m_FileName;
  462. };
  463. #endif
  464. //-----------------------------------------------------------------------------
  465. // A general DelegateArg of DICOMFile
  466. //-----------------------------------------------------------------------------
  467. class DELEGATEARG_API EventArgs_DicomFile : public DelegateArgs
  468. {
  469. typedef DelegateArgs inherited;
  470. DECLARE_RTTI (EventArgs_DicomFile)
  471. public:
  472. inline EventArgs_DicomFile (ECOM::DICOM::DICOMFile * DicomFile)
  473. {
  474. m_DicomFile = DicomFile;
  475. }
  476. public:
  477. ECOM::DICOM::DICOMFile * m_DicomFile;
  478. };
  479. class DELEGATEARG_API EventArgs_DicomFileEx : public EventArgs_DicomFile
  480. {
  481. typedef EventArgs_DicomFile inherited;
  482. DECLARE_RTTI (EventArgs_DicomFileEx)
  483. public:
  484. inline EventArgs_DicomFileEx (ECOM::DICOM::DICOMDataSet * DDS, ECOM::DICOM::DICOMFile * DicomFile) :
  485. EventArgs_DicomFile (DicomFile)
  486. {
  487. m_DDS = DDS;
  488. Reverse1 = Reverse2 = Reverse3 = Reverse4 = 0;
  489. }
  490. public:
  491. ECOM::DICOM::DICOMDataSet * m_DDS;
  492. public:
  493. DWORD Reverse1;
  494. DWORD Reverse2;
  495. DWORD Reverse3;
  496. DWORD Reverse4;
  497. };
  498. class DELEGATEARG_API EventArgs_DicomFile_ImportExport : public EventArgs_DicomFile
  499. {
  500. typedef EventArgs_DicomFile inherited;
  501. DECLARE_RTTI (EventArgs_DicomFile_ImportExport)
  502. public:
  503. inline EventArgs_DicomFile_ImportExport (
  504. ECOM::DICOM::DICOMFile * DicomFile,
  505. const char * Calling, const char * Called,
  506. const char * IP, const char * Port) :
  507. EventArgs_DicomFile (DicomFile)
  508. {
  509. m_Calling = Calling;
  510. m_Called = Called;
  511. m_IP = IP;
  512. m_Port = Port;
  513. }
  514. public:
  515. DString m_Calling;
  516. DString m_Called;
  517. DString m_IP;
  518. DString m_Port;
  519. };
  520. //-----------------------------------------------------------------------------
  521. // A general DelegateArg of DicomFileHolder
  522. //-----------------------------------------------------------------------------
  523. class DELEGATEARG_API EventArgs_DicomFileHolder : public DelegateArgs
  524. {
  525. typedef DelegateArgs inherited;
  526. DECLARE_RTTI (EventArgs_DicomFileHolder)
  527. public:
  528. inline EventArgs_DicomFileHolder (DicomFileHolder * holder)
  529. {
  530. m_pHolder = holder;
  531. }
  532. public:
  533. DicomFileHolder * m_pHolder;
  534. };
  535. #if 0
  536. //-----------------------------------------------------------------------------
  537. // A general DelegateArg of DicomFileHolder
  538. //-----------------------------------------------------------------------------
  539. class DELEGATEARG_API EventArgs_DicomFileHolderEx2 : public EventArgs_DicomFileHolder
  540. {
  541. typedef EventArgs_DicomFileHolder inherited;
  542. DECLARE_RTTI (EventArgs_DicomFileHolderEx2)
  543. public:
  544. inline EventArgs_DicomFileHolderEx2 (DicomFileHolder * holder) :
  545. EventArgs_DicomFileHolder (holder)
  546. {
  547. Row = 0;
  548. Col = 0;
  549. }
  550. public:
  551. int Row;
  552. int Col;
  553. };
  554. #endif
  555. //-----------------------------------------------------------------------------
  556. // A general DelegateArg of DICOM Connect
  557. //-----------------------------------------------------------------------------
  558. class DELEGATEARG_API EventArgs_Connect : public DelegateArgs
  559. {
  560. typedef DelegateArgs inherited;
  561. DECLARE_RTTI (EventArgs_Connect)
  562. public:
  563. inline EventArgs_Connect (void)
  564. {
  565. m_pCommandSet = NULL;
  566. m_bOK = true;
  567. }
  568. public:
  569. const ECOM::DICOM::DICOMCommandSet * m_pCommandSet;
  570. DString m_CallingAETitle;
  571. DString m_CalledAETitle;
  572. DString m_ConnectedNode;
  573. DString m_ConnectedPort;
  574. UINT32 m_ConnectionNumber;
  575. double m_ConnectedTime;
  576. bool m_bOK;
  577. };
  578. #if 0
  579. //-----------------------------------------------------------------------------
  580. // A general DelegateArg of EventArgs_2Arg
  581. //-----------------------------------------------------------------------------
  582. class DELEGATEARG_API EventArgs_2Arg : public DelegateArgs
  583. {
  584. typedef DelegateArgs inherited;
  585. DECLARE_RTTI (EventArgs_2Arg)
  586. public:
  587. inline EventArgs_2Arg (DelegateArgs * arg1, DelegateArgs * arg2)
  588. {
  589. m_Arg1 = arg1;
  590. m_Arg2 = arg2;
  591. }
  592. public:
  593. DelegateArgs * m_Arg1;
  594. DelegateArgs * m_Arg2;
  595. };
  596. //-----------------------------------------------------------------------------
  597. // A general DelegateArg of EventArgs_3Arg
  598. //-----------------------------------------------------------------------------
  599. class DELEGATEARG_API EventArgs_3Arg : public DelegateArgs
  600. {
  601. typedef DelegateArgs inherited;
  602. DECLARE_RTTI (EventArgs_3Arg)
  603. public:
  604. inline EventArgs_3Arg (DelegateArgs * arg1, DelegateArgs * arg2, DelegateArgs * arg3)
  605. {
  606. m_Arg1 = arg1;
  607. m_Arg2 = arg2;
  608. m_Arg3 = arg3;
  609. }
  610. public:
  611. DelegateArgs * m_Arg1;
  612. DelegateArgs * m_Arg2;
  613. DelegateArgs * m_Arg3;
  614. };
  615. //-----------------------------------------------------------------------------
  616. // A general DelegateArg of EventArgs_4Arg
  617. //-----------------------------------------------------------------------------
  618. class DELEGATEARG_API EventArgs_4Arg : public DelegateArgs
  619. {
  620. typedef DelegateArgs inherited;
  621. DECLARE_RTTI (EventArgs_4Arg)
  622. public:
  623. inline EventArgs_4Arg (
  624. DelegateArgs * arg1, DelegateArgs * arg2,
  625. DelegateArgs * arg3, DelegateArgs * arg4)
  626. {
  627. m_Arg1 = arg1;
  628. m_Arg2 = arg2;
  629. m_Arg3 = arg3;
  630. m_Arg4 = arg4;
  631. }
  632. public:
  633. DelegateArgs * m_Arg1;
  634. DelegateArgs * m_Arg2;
  635. DelegateArgs * m_Arg3;
  636. DelegateArgs * m_Arg4;
  637. };
  638. //-----------------------------------------------------------------------------
  639. // A general DelegateArg of EventArgs_6Arg
  640. //-----------------------------------------------------------------------------
  641. class DELEGATEARG_API EventArgs_6Arg : public DelegateArgs
  642. {
  643. typedef DelegateArgs inherited;
  644. DECLARE_RTTI (EventArgs_6Arg)
  645. public:
  646. inline EventArgs_6Arg (
  647. DelegateArgs * arg1, DelegateArgs * arg2,
  648. DelegateArgs * arg3, DelegateArgs * arg4,
  649. DelegateArgs * arg5, DelegateArgs * arg6)
  650. {
  651. m_Arg1 = arg1;
  652. m_Arg2 = arg2;
  653. m_Arg3 = arg3;
  654. m_Arg4 = arg4;
  655. m_Arg5 = arg5;
  656. m_Arg6 = arg6;
  657. }
  658. public:
  659. DelegateArgs * m_Arg1;
  660. DelegateArgs * m_Arg2;
  661. DelegateArgs * m_Arg3;
  662. DelegateArgs * m_Arg4;
  663. DelegateArgs * m_Arg5;
  664. DelegateArgs * m_Arg6;
  665. };
  666. //-----------------------------------------------------------------------------
  667. // A general DelegateArg of EventArgs_6Arg
  668. //-----------------------------------------------------------------------------
  669. class DELEGATEARG_API EventArgs_8Arg : public DelegateArgs
  670. {
  671. typedef DelegateArgs inherited;
  672. DECLARE_RTTI (EventArgs_8Arg)
  673. public:
  674. inline EventArgs_8Arg (
  675. DelegateArgs * arg1, DelegateArgs * arg2,
  676. DelegateArgs * arg3, DelegateArgs * arg4,
  677. DelegateArgs * arg5, DelegateArgs * arg6,
  678. DelegateArgs * arg7, DelegateArgs * arg8)
  679. {
  680. m_Arg1 = arg1;
  681. m_Arg2 = arg2;
  682. m_Arg3 = arg3;
  683. m_Arg4 = arg4;
  684. m_Arg5 = arg5;
  685. m_Arg6 = arg6;
  686. m_Arg7 = arg7;
  687. m_Arg8 = arg8;
  688. }
  689. public:
  690. DelegateArgs * m_Arg1;
  691. DelegateArgs * m_Arg2;
  692. DelegateArgs * m_Arg3;
  693. DelegateArgs * m_Arg4;
  694. DelegateArgs * m_Arg5;
  695. DelegateArgs * m_Arg6;
  696. DelegateArgs * m_Arg7;
  697. DelegateArgs * m_Arg8;
  698. };
  699. #endif