home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / sdsexc.xh < prev    next >
Encoding:
Text File  |  1996-02-22  |  18.7 KB  |  593 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: g:\daxnt\INCLUDE\sdsexc.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: Development
  7.  *     SOM Emitter emitxh.dll: Development
  8.  */
  9.  
  10. /*
  11.  * 
  12.  * 
  13.  *     Licensed Materials - Property of IBM
  14.  * 
  15.  *     5622-880   5801-AAR
  16.  * 
  17.  *     (c) Copyright IBM Corp 1991, 1996.
  18.  * 
  19.  */
  20.  
  21.  
  22. #ifndef SOM_DA_xh
  23. #define SOM_DA_xh
  24.  
  25. class DA;
  26.  
  27. #define DA_MajorVersion 0
  28. #define DA_MinorVersion 0
  29.  
  30. /* C++ SOM defs */
  31. #include <somcls.xh>
  32. #include <somcm.xh>
  33.  
  34. #ifndef DA_API
  35. #define DA_API
  36. /*
  37.  * -- The Class API
  38.  */
  39.  
  40. /*
  41.  * Start of user-defined types:
  42.  */
  43. #define DAX_ADD_READONLY 101 /* 101 */
  44. #define DAX_ADD_SQLERR 102 /* 102 */
  45. #define DAX_UPD_READONLY 103 /* 103 */
  46. #define DAX_UPD_SQLERR 104 /* 104 */
  47. #define DAX_DEL_READONLY 105 /* 105 */
  48. #define DAX_DEL_SQLERR 106 /* 106 */
  49. #define DAX_RET_SQLERR 107 /* 107 */
  50. #define DAX_REF_SQLERR 108 /* 108 */
  51. #define DAX_SEL_SQLERR 109 /* 109 */
  52. #define DAX_ADD_NONNULL 110 /* 110 */
  53. #define DAX_NUL_NONNULL 111 /* 111 */
  54. #define DAX_DFT_READONLY 112 /* 112 */
  55. #define DAX_SYS_LOCK 113 /* 113 */
  56. #define DAX_ADD_NULL_DATAID 114 /* 114 */
  57. #define DAX_UPD_NULL_DATAID 115 /* 115 */
  58. #define DAX_RET_NULL_DATAID 116 /* 116 */
  59. #define DAX_DEL_NULL_DATAID 117 /* 117 */
  60. #define DAX_ATTR_INVLEN 118 /* 118 */
  61. #define DAX_ATTR_INVDATA 119 /* 119 */
  62. #define DAX_RET_NORETRIEVE 120 /* 120 */
  63. #define DAX_UPD_MULTROWS 121 /* 121 */
  64. #define DAX_DEL_MULTROWS 122 /* 122 */
  65. #define DAX_OUT_OF_MEMORY 123 /* 123 */
  66. #define DAX_MSG_MAX_CONNECTIONS_REACHED 1209 /* 1209 */
  67. #define DAX_MSG_NO_CONNECT_TRANSACT_ACTIVE 1210 /* 1210 */
  68. #define DAX_MSG_MAX_CONNECTIONS_TO_DB_REACHED 1211 /* 1211 */
  69. #define DAX_MSG_CONNECTION_IN_USE 1212 /* 1212 */
  70. #define DAX_MSG_NO_DISCONNECT_CONNECTION_NOT_FOUND 1213 /* 1213 */
  71. #define DAX_MSG_COMMIT_ERROR 1216 /* 1216 */
  72. #define DAX_MSG_ROLLBACK_ERROR 1217 /* 1217 */
  73. #define DAX_MSG_CONNECT_ERROR 1219 /* 1219 */
  74. #define DAX_MSG_DISCONNECT_ERROR 1221 /* 1221 */
  75. #define DAX_MSG_CONNECT_NOT_OPEN 1222 /* 1222 */
  76. #define DAX_MSG_LOGON_ERROR 1223 /* 1223 */
  77. #define DAX_MSG_LOGOFF_ERROR 1224 /* 1224 */
  78. #define DAX_MSG_USERID_NOT_SPECIFIED 1225 /* 1225 */
  79. #define DAX_MSG_PASSWORD_NOT_SPECIFIED 1226 /* 1226 */
  80. #define DAX_MSG_INCORRECT_USERID_OR_PASSWORD 1227 /* 1227 */
  81. #define DAX_MSG_LOGON_IN_PROGRESS 1228 /* 1228 */
  82. #define DAX_MSG_INVALID_REMOTE_TYPE 1229 /* 1229 */
  83. #define DAX_MSG_EXECUTE_IMMEDIATE_ERROR 1243 /* 1243 */
  84. #define DAX_MSG_ONLY_ONE_CONNECTION_ALLOWED 1244 /* 1244 */
  85. #define DAX_MSG_OBJECT_NOT_FOUND_OR_NOT_INSERTED 1248 /* 1248 */
  86. #define DAX_MSG_OBJECT_NOT_UNIQUE 1249 /* 1249 */
  87. #define DAX_MSG_ERROR_IN_SQLERROR 1250 /* 1250 */
  88. #define DAX_MSG_ADD_NOT_IMPLEMENTED 1251 /* 1251 */
  89. #define DAX_MSG_UPDATE_NOT_IMPLEMENTED 1252 /* 1252 */
  90. #define DAX_MSG_DEL_NOT_IMPLEMENTED 1253 /* 1253 */
  91. #define DAX_MSG_RETRIEVE_NOT_IMPLEMENTED 1254 /* 1254 */
  92. #define DAX_MSG_DEFAULT_READONLY 1255 /* 1255 */
  93. #define DAX_MSG_RETRIEVEALL_NOT_IMPLEMENTED 1256 /* 1256 */
  94. #define DAX_MSG_SQLERROR 1260 /* 1260 */
  95. #define DAX_MSG_SELECT_NOT_IMPLEMENTED 1261 /* 1261 */
  96. #define DAX_MSG_DATASTORE_CONNECTION_NOT_SUPPLIED 1262 /* 1262 */
  97. #define DAX_MSG_LOCK_ERROR 1263 /* 1263 */
  98. #define ex_DA_DatastoreConnectionInUse "::DA::DatastoreConnectionInUse"
  99. typedef
  100. struct DA_DatastoreConnectionInUse {
  101. long  error_number;
  102. char  error_code[8];
  103. char  error_state[8];
  104. boolean  error_avail;
  105. char  error_text[256];
  106. } DA_DatastoreConnectionInUse;
  107. #define ex_DA_DatastoreConnectionNotOpen "::DA::DatastoreConnectionNotOpen"
  108. typedef
  109. struct DA_DatastoreConnectionNotOpen {
  110. long  error_number;
  111. char  error_code[8];
  112. char  error_state[8];
  113. boolean  error_avail;
  114. char  error_text[256];
  115. } DA_DatastoreConnectionNotOpen;
  116. #define ex_DA_DatastoreAccessError "::DA::DatastoreAccessError"
  117. typedef
  118. struct DA_DatastoreAccessError {
  119. long  error_number;
  120. char  error_code[8];
  121. char  error_state[8];
  122. boolean  error_avail;
  123. char  error_text[256];
  124. } DA_DatastoreAccessError;
  125. #define ex_DA_ConnectFailed "::DA::ConnectFailed"
  126. typedef
  127. struct DA_ConnectFailed {
  128. long  error_number;
  129. char  error_code[8];
  130. char  error_state[8];
  131. boolean  error_avail;
  132. char  error_text[256];
  133. } DA_ConnectFailed;
  134. #define ex_DA_DisconnectError "::DA::DisconnectError"
  135. typedef
  136. struct DA_DisconnectError {
  137. long  error_number;
  138. char  error_code[8];
  139. char  error_state[8];
  140. boolean  error_avail;
  141. char  error_text[256];
  142. } DA_DisconnectError;
  143. #define ex_DA_OptionInvalid "::DA::OptionInvalid"
  144. typedef
  145. struct DA_OptionInvalid {
  146. long  error_number;
  147. char  error_code[8];
  148. char  error_state[8];
  149. boolean  error_avail;
  150. char  error_text[256];
  151. } DA_OptionInvalid;
  152. #define ex_DA_DataObjectInvalid "::DA::DataObjectInvalid"
  153. typedef
  154. struct DA_DataObjectInvalid {
  155. long  error_number;
  156. char  error_code[8];
  157. char  error_state[8];
  158. boolean  error_avail;
  159. char  error_text[256];
  160. } DA_DataObjectInvalid;
  161. #define ex_DA_DataObjectAlreadyExist "::DA::DataObjectAlreadyExist"
  162. typedef
  163. struct DA_DataObjectAlreadyExist {
  164. long  error_number;
  165. char  error_code[8];
  166. char  error_state[8];
  167. boolean  error_avail;
  168. char  error_text[256];
  169. } DA_DataObjectAlreadyExist;
  170. #define ex_DA_DataObjectNotFound "::DA::DataObjectNotFound"
  171. typedef
  172. struct DA_DataObjectNotFound {
  173. long  error_number;
  174. char  error_code[8];
  175. char  error_state[8];
  176. boolean  error_avail;
  177. char  error_text[256];
  178. } DA_DataObjectNotFound;
  179. #define ex_DA_DatastoreLogonFailed "::DA::DatastoreLogonFailed"
  180. typedef
  181. struct DA_DatastoreLogonFailed {
  182. long  error_number;
  183. char  error_code[8];
  184. char  error_state[8];
  185. boolean  error_avail;
  186. char  error_text[256];
  187. } DA_DatastoreLogonFailed;
  188. #define ex_DA_DatastoreLogoffFailed "::DA::DatastoreLogoffFailed"
  189. typedef
  190. struct DA_DatastoreLogoffFailed {
  191. long  error_number;
  192. char  error_code[8];
  193. char  error_state[8];
  194. boolean  error_avail;
  195. char  error_text[256];
  196. } DA_DatastoreLogoffFailed;
  197. #define ex_DA_SystemAccessError "::DA::SystemAccessError"
  198. typedef
  199. struct DA_SystemAccessError {
  200. long  error_number;
  201. char  error_code[8];
  202. char  error_state[8];
  203. boolean  error_avail;
  204. char  error_text[256];
  205. } DA_SystemAccessError;
  206. #define ex_DA_RequestInvalid "::DA::RequestInvalid"
  207. typedef
  208. struct DA_RequestInvalid {
  209. long  error_number;
  210. char  error_code[8];
  211. char  error_state[8];
  212. boolean  error_avail;
  213. char  error_text[256];
  214. } DA_RequestInvalid;
  215. #define ex_DA_DataObjectAttributeInvalid "::DA::DataObjectAttributeInvalid"
  216. typedef
  217. struct DA_DataObjectAttributeInvalid {
  218. long  error_number;
  219. char  error_code[8];
  220. char  error_state[8];
  221. boolean  error_avail;
  222. char  error_text[256];
  223. } DA_DataObjectAttributeInvalid;
  224. #define ex_DA_ParameterInvalid "::DA::ParameterInvalid"
  225. typedef
  226. struct DA_ParameterInvalid {
  227. long  error_number;
  228. char  error_code[8];
  229. char  error_state[8];
  230. boolean  error_avail;
  231. char  error_text[256];
  232. } DA_ParameterInvalid;
  233.  
  234. #ifndef SOM_DONT_USE_SHORT_NAMES
  235. #ifndef SOMTGD_ex_DatastoreConnectionInUse
  236.     #ifdef ex_DatastoreConnectionInUse
  237.         #undef ex_DatastoreConnectionInUse
  238.         #define SOMTGD_ex_DatastoreConnectionInUse 1
  239.     #else
  240.         #define ex_DatastoreConnectionInUse ex_DA_DatastoreConnectionInUse
  241.     #endif /* ex_DatastoreConnectionInUse */
  242. #endif /* SOMTGD_ex_DatastoreConnectionInUse */
  243. #ifndef SOMTGD_DatastoreConnectionInUse
  244.     #ifdef DatastoreConnectionInUse
  245.         #undef DatastoreConnectionInUse
  246.         #define SOMTGD_DatastoreConnectionInUse 1
  247.     #else
  248.         #define DatastoreConnectionInUse DA_DatastoreConnectionInUse
  249.     #endif /* DatastoreConnectionInUse */
  250. #endif /* SOMTGD_DatastoreConnectionInUse */
  251. #ifndef SOMTGD_ex_DatastoreConnectionNotOpen
  252.     #ifdef ex_DatastoreConnectionNotOpen
  253.         #undef ex_DatastoreConnectionNotOpen
  254.         #define SOMTGD_ex_DatastoreConnectionNotOpen 1
  255.     #else
  256.         #define ex_DatastoreConnectionNotOpen ex_DA_DatastoreConnectionNotOpen
  257.     #endif /* ex_DatastoreConnectionNotOpen */
  258. #endif /* SOMTGD_ex_DatastoreConnectionNotOpen */
  259. #ifndef SOMTGD_DatastoreConnectionNotOpen
  260.     #ifdef DatastoreConnectionNotOpen
  261.         #undef DatastoreConnectionNotOpen
  262.         #define SOMTGD_DatastoreConnectionNotOpen 1
  263.     #else
  264.         #define DatastoreConnectionNotOpen DA_DatastoreConnectionNotOpen
  265.     #endif /* DatastoreConnectionNotOpen */
  266. #endif /* SOMTGD_DatastoreConnectionNotOpen */
  267. #ifndef SOMTGD_ex_DatastoreAccessError
  268.     #ifdef ex_DatastoreAccessError
  269.         #undef ex_DatastoreAccessError
  270.         #define SOMTGD_ex_DatastoreAccessError 1
  271.     #else
  272.         #define ex_DatastoreAccessError ex_DA_DatastoreAccessError
  273.     #endif /* ex_DatastoreAccessError */
  274. #endif /* SOMTGD_ex_DatastoreAccessError */
  275. #ifndef SOMTGD_DatastoreAccessError
  276.     #ifdef DatastoreAccessError
  277.         #undef DatastoreAccessError
  278.         #define SOMTGD_DatastoreAccessError 1
  279.     #else
  280.         #define DatastoreAccessError DA_DatastoreAccessError
  281.     #endif /* DatastoreAccessError */
  282. #endif /* SOMTGD_DatastoreAccessError */
  283. #ifndef SOMTGD_ex_ConnectFailed
  284.     #ifdef ex_ConnectFailed
  285.         #undef ex_ConnectFailed
  286.         #define SOMTGD_ex_ConnectFailed 1
  287.     #else
  288.         #define ex_ConnectFailed ex_DA_ConnectFailed
  289.     #endif /* ex_ConnectFailed */
  290. #endif /* SOMTGD_ex_ConnectFailed */
  291. #ifndef SOMTGD_ConnectFailed
  292.     #ifdef ConnectFailed
  293.         #undef ConnectFailed
  294.         #define SOMTGD_ConnectFailed 1
  295.     #else
  296.         #define ConnectFailed DA_ConnectFailed
  297.     #endif /* ConnectFailed */
  298. #endif /* SOMTGD_ConnectFailed */
  299. #ifndef SOMTGD_ex_DisconnectError
  300.     #ifdef ex_DisconnectError
  301.         #undef ex_DisconnectError
  302.         #define SOMTGD_ex_DisconnectError 1
  303.     #else
  304.         #define ex_DisconnectError ex_DA_DisconnectError
  305.     #endif /* ex_DisconnectError */
  306. #endif /* SOMTGD_ex_DisconnectError */
  307. #ifndef SOMTGD_DisconnectError
  308.     #ifdef DisconnectError
  309.         #undef DisconnectError
  310.         #define SOMTGD_DisconnectError 1
  311.     #else
  312.         #define DisconnectError DA_DisconnectError
  313.     #endif /* DisconnectError */
  314. #endif /* SOMTGD_DisconnectError */
  315. #ifndef SOMTGD_ex_OptionInvalid
  316.     #ifdef ex_OptionInvalid
  317.         #undef ex_OptionInvalid
  318.         #define SOMTGD_ex_OptionInvalid 1
  319.     #else
  320.         #define ex_OptionInvalid ex_DA_OptionInvalid
  321.     #endif /* ex_OptionInvalid */
  322. #endif /* SOMTGD_ex_OptionInvalid */
  323. #ifndef SOMTGD_OptionInvalid
  324.     #ifdef OptionInvalid
  325.         #undef OptionInvalid
  326.         #define SOMTGD_OptionInvalid 1
  327.     #else
  328.         #define OptionInvalid DA_OptionInvalid
  329.     #endif /* OptionInvalid */
  330. #endif /* SOMTGD_OptionInvalid */
  331. #ifndef SOMTGD_ex_DataObjectInvalid
  332.     #ifdef ex_DataObjectInvalid
  333.         #undef ex_DataObjectInvalid
  334.         #define SOMTGD_ex_DataObjectInvalid 1
  335.     #else
  336.         #define ex_DataObjectInvalid ex_DA_DataObjectInvalid
  337.     #endif /* ex_DataObjectInvalid */
  338. #endif /* SOMTGD_ex_DataObjectInvalid */
  339. #ifndef SOMTGD_DataObjectInvalid
  340.     #ifdef DataObjectInvalid
  341.         #undef DataObjectInvalid
  342.         #define SOMTGD_DataObjectInvalid 1
  343.     #else
  344.         #define DataObjectInvalid DA_DataObjectInvalid
  345.     #endif /* DataObjectInvalid */
  346. #endif /* SOMTGD_DataObjectInvalid */
  347. #ifndef SOMTGD_ex_DataObjectAlreadyExist
  348.     #ifdef ex_DataObjectAlreadyExist
  349.         #undef ex_DataObjectAlreadyExist
  350.         #define SOMTGD_ex_DataObjectAlreadyExist 1
  351.     #else
  352.         #define ex_DataObjectAlreadyExist ex_DA_DataObjectAlreadyExist
  353.     #endif /* ex_DataObjectAlreadyExist */
  354. #endif /* SOMTGD_ex_DataObjectAlreadyExist */
  355. #ifndef SOMTGD_DataObjectAlreadyExist
  356.     #ifdef DataObjectAlreadyExist
  357.         #undef DataObjectAlreadyExist
  358.         #define SOMTGD_DataObjectAlreadyExist 1
  359.     #else
  360.         #define DataObjectAlreadyExist DA_DataObjectAlreadyExist
  361.     #endif /* DataObjectAlreadyExist */
  362. #endif /* SOMTGD_DataObjectAlreadyExist */
  363. #ifndef SOMTGD_ex_DataObjectNotFound
  364.     #ifdef ex_DataObjectNotFound
  365.         #undef ex_DataObjectNotFound
  366.         #define SOMTGD_ex_DataObjectNotFound 1
  367.     #else
  368.         #define ex_DataObjectNotFound ex_DA_DataObjectNotFound
  369.     #endif /* ex_DataObjectNotFound */
  370. #endif /* SOMTGD_ex_DataObjectNotFound */
  371. #ifndef SOMTGD_DataObjectNotFound
  372.     #ifdef DataObjectNotFound
  373.         #undef DataObjectNotFound
  374.         #define SOMTGD_DataObjectNotFound 1
  375.     #else
  376.         #define DataObjectNotFound DA_DataObjectNotFound
  377.     #endif /* DataObjectNotFound */
  378. #endif /* SOMTGD_DataObjectNotFound */
  379. #ifndef SOMTGD_ex_DatastoreLogonFailed
  380.     #ifdef ex_DatastoreLogonFailed
  381.         #undef ex_DatastoreLogonFailed
  382.         #define SOMTGD_ex_DatastoreLogonFailed 1
  383.     #else
  384.         #define ex_DatastoreLogonFailed ex_DA_DatastoreLogonFailed
  385.     #endif /* ex_DatastoreLogonFailed */
  386. #endif /* SOMTGD_ex_DatastoreLogonFailed */
  387. #ifndef SOMTGD_DatastoreLogonFailed
  388.     #ifdef DatastoreLogonFailed
  389.         #undef DatastoreLogonFailed
  390.         #define SOMTGD_DatastoreLogonFailed 1
  391.     #else
  392.         #define DatastoreLogonFailed DA_DatastoreLogonFailed
  393.     #endif /* DatastoreLogonFailed */
  394. #endif /* SOMTGD_DatastoreLogonFailed */
  395. #ifndef SOMTGD_ex_DatastoreLogoffFailed
  396.     #ifdef ex_DatastoreLogoffFailed
  397.         #undef ex_DatastoreLogoffFailed
  398.         #define SOMTGD_ex_DatastoreLogoffFailed 1
  399.     #else
  400.         #define ex_DatastoreLogoffFailed ex_DA_DatastoreLogoffFailed
  401.     #endif /* ex_DatastoreLogoffFailed */
  402. #endif /* SOMTGD_ex_DatastoreLogoffFailed */
  403. #ifndef SOMTGD_DatastoreLogoffFailed
  404.     #ifdef DatastoreLogoffFailed
  405.         #undef DatastoreLogoffFailed
  406.         #define SOMTGD_DatastoreLogoffFailed 1
  407.     #else
  408.         #define DatastoreLogoffFailed DA_DatastoreLogoffFailed
  409.     #endif /* DatastoreLogoffFailed */
  410. #endif /* SOMTGD_DatastoreLogoffFailed */
  411. #ifndef SOMTGD_ex_SystemAccessError
  412.     #ifdef ex_SystemAccessError
  413.         #undef ex_SystemAccessError
  414.         #define SOMTGD_ex_SystemAccessError 1
  415.     #else
  416.         #define ex_SystemAccessError ex_DA_SystemAccessError
  417.     #endif /* ex_SystemAccessError */
  418. #endif /* SOMTGD_ex_SystemAccessError */
  419. #ifndef SOMTGD_SystemAccessError
  420.     #ifdef SystemAccessError
  421.         #undef SystemAccessError
  422.         #define SOMTGD_SystemAccessError 1
  423.     #else
  424.         #define SystemAccessError DA_SystemAccessError
  425.     #endif /* SystemAccessError */
  426. #endif /* SOMTGD_SystemAccessError */
  427. #ifndef SOMTGD_ex_RequestInvalid
  428.     #ifdef ex_RequestInvalid
  429.         #undef ex_RequestInvalid
  430.         #define SOMTGD_ex_RequestInvalid 1
  431.     #else
  432.         #define ex_RequestInvalid ex_DA_RequestInvalid
  433.     #endif /* ex_RequestInvalid */
  434. #endif /* SOMTGD_ex_RequestInvalid */
  435. #ifndef SOMTGD_RequestInvalid
  436.     #ifdef RequestInvalid
  437.         #undef RequestInvalid
  438.         #define SOMTGD_RequestInvalid 1
  439.     #else
  440.         #define RequestInvalid DA_RequestInvalid
  441.     #endif /* RequestInvalid */
  442. #endif /* SOMTGD_RequestInvalid */
  443. #ifndef SOMTGD_ex_DataObjectAttributeInvalid
  444.     #ifdef ex_DataObjectAttributeInvalid
  445.         #undef ex_DataObjectAttributeInvalid
  446.         #define SOMTGD_ex_DataObjectAttributeInvalid 1
  447.     #else
  448.         #define ex_DataObjectAttributeInvalid ex_DA_DataObjectAttributeInvalid
  449.     #endif /* ex_DataObjectAttributeInvalid */
  450. #endif /* SOMTGD_ex_DataObjectAttributeInvalid */
  451. #ifndef SOMTGD_DataObjectAttributeInvalid
  452.     #ifdef DataObjectAttributeInvalid
  453.         #undef DataObjectAttributeInvalid
  454.         #define SOMTGD_DataObjectAttributeInvalid 1
  455.     #else
  456.         #define DataObjectAttributeInvalid DA_DataObjectAttributeInvalid
  457.     #endif /* DataObjectAttributeInvalid */
  458. #endif /* SOMTGD_DataObjectAttributeInvalid */
  459. #ifndef SOMTGD_ex_ParameterInvalid
  460.     #ifdef ex_ParameterInvalid
  461.         #undef ex_ParameterInvalid
  462.         #define SOMTGD_ex_ParameterInvalid 1
  463.     #else
  464.         #define ex_ParameterInvalid ex_DA_ParameterInvalid
  465.     #endif /* ex_ParameterInvalid */
  466. #endif /* SOMTGD_ex_ParameterInvalid */
  467. #ifndef SOMTGD_ParameterInvalid
  468.     #ifdef ParameterInvalid
  469.         #undef ParameterInvalid
  470.         #define SOMTGD_ParameterInvalid 1
  471.     #else
  472.         #define ParameterInvalid DA_ParameterInvalid
  473.     #endif /* ParameterInvalid */
  474. #endif /* SOMTGD_ParameterInvalid */
  475. #endif /* SOM_DONT_USE_SHORT_NAMES */
  476.  
  477. /*
  478.  * End of user-defined types.
  479.  */
  480.  
  481. /* A procedure to create the DA Class */
  482. SOMEXTERN
  483. #if (defined(SOM_Module_sdsexc_Source) || defined(DA_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_DA))
  484. WIN32_DLLEXPORT
  485. #else
  486. WIN32_DLLIMPORT
  487. #endif
  488. SOMClass * SOMLINK DANewClass(
  489.         integer4,
  490.         integer4 );
  491.  
  492. /* The API to the DA class object, and the methods it introduces. */
  493. SOMEXTERN struct DAClassDataStructure {
  494.     SOMClass *classObject;
  495. }
  496. #if !(defined(SOM_Module_sdsexc_Source) || defined(DA_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_DA))
  497. WIN32_DLLIMPORT
  498. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  499. WIN32_DLLEXPORT
  500. #endif
  501. SOMDLINK DAClassData;
  502. #define _DA DAClassData.classObject
  503.  
  504. /* The API to parentMtabs for DA, and the instance data it introduces. */
  505. SOMEXTERN struct DACClassDataStructure {
  506.     somMethodTabs parentMtab;
  507.     somDToken              instanceDataToken;
  508. }
  509. #if !(defined(SOM_Module_sdsexc_Source) || defined(DA_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_DA))
  510. WIN32_DLLIMPORT
  511. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  512. WIN32_DLLEXPORT
  513. #endif
  514. SOMDLINK DACClassData;
  515.  
  516. /*
  517.  * -- Typedefs for DA Method Procedures
  518.  */
  519. extern "C" {
  520. }
  521.  
  522. #endif /* DA_API */
  523.  
  524.  
  525. /*
  526.  * -- This emitter believes that method thunks are unavailable,
  527.  * -- so somResolve will be called.
  528.  */
  529. #undef somresolve_
  530. #define somresolve_(obj,mToken) (somResolve(obj,mToken))
  531.  
  532. /*
  533.  * -- The C++ Wrapper Class for DA
  534.  */
  535.  
  536. class DA : public SOMObject
  537. {
  538. public:
  539.  
  540. // DA::new creates the class object if necessary, and then uses somNewNoInit
  541. // to allocate memory and create the object. Initialization is in ctors.
  542. void *operator new(size_t)
  543. {
  544.    if (!_DA) DANewClass(DA_MajorVersion,DA_MinorVersion);
  545.    return (void*)
  546.       SOM_Resolve(_DA,SOMClass,somNewNoInit)
  547.          ((SOMClass *)((void*)_DA));
  548. }
  549.  
  550. // DA::delete uses somDestruct.
  551. void operator delete(void * obj)
  552. {
  553.    if (obj && *(void**)obj) {
  554.       SOM_Resolve(obj,SOMObject,somDestruct)
  555.          ((SOMObject*)obj, 1, 0);
  556.    }
  557. }
  558.  
  559. DA()
  560. {
  561.    if (*(void**)this != 
  562.        ((somParentMtabStructPtr)
  563.         (DACClassData.parentMtab))->mtab)
  564.       return;
  565.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  566. }
  567.  
  568. DA(DA* fromObj)
  569. {
  570.    if (*(void**)this != 
  571.        ((somParentMtabStructPtr)
  572.         (DACClassData.parentMtab))->mtab)
  573.       return;
  574.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  575. }
  576.  
  577. DA(const DA* fromObj)
  578. {
  579.    if (*(void**)this != 
  580.        ((somParentMtabStructPtr)
  581.         (DACClassData.parentMtab))->mtab)
  582.       return;
  583.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  584. }
  585.  
  586.  
  587.  
  588. };   /* DA */
  589.  
  590.  
  591.  
  592. #endif       /* SOM_DA_xh */
  593.