Modeler Extensions Framework
clemext.h
Go to the documentation of this file.
1 //============================================================================
2 // IBM Confidential
3 //
4 // OCO Source Materials
5 //
6 // IBM SPSS Products: Modeler Common
7 //
8 // (C) Copyright IBM Corp. 1994, 2014
9 //
10 // The source code for this program is not published or otherwise divested of its trade secrets,
11 // irrespective of what has been deposited with the U.S. Copyright Office.
12 //============================================================================
13 
14 #ifndef CLEMEXT_H_INCLUDED
15 #define CLEMEXT_H_INCLUDED
16 
17 #include <sys/types.h>
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 #if (defined(_MSC_VER) && _MSC_VER >= 1100) || defined(HPUX) // VC++ and HPUX
24  #ifdef CLEMEXT_EXPORTS
25  #define CLEMEXT_API __declspec(dllexport)
26  #else
27  #define CLEMEXT_API __declspec(dllimport)
28  #endif
29 #elif defined(SOLARIS) // SOLARIS
30  #define CLEMEXT_API __global
31 #elif defined(LINUX) // LINUX
32  #define CLEMEXT_API __attribute__ ((visibility ("default")))
33 #else // other platforms
34  #define CLEMEXT_API
35 #endif
36 
37 
38 
43 
44 typedef unsigned CLEMEXTStatus;
45 
46 #define CLEMEXT_OK 0u
47 #define CLEMEXT_ERR_MODULE_SPECIFIC 1u
48 #define CLEMEXT_ERR_INVALID_HANDLE 2u
49 #define CLEMEXT_ERR_INVALID_OPERATION 3u
50 #define CLEMEXT_ERR_NODE_TYPE_NOT_SUPPORTED 4u
51 #define CLEMEXT_ERR_XML 5u
52 #define CLEMEXT_ERR_NOT_CONFIGURED 6u
53 #define CLEMEXT_ERR_NOT_EXECUTABLE 7u
54 #define CLEMEXT_ERR_NOT_EXECUTING 8u
55 #define CLEMEXT_ERR_NO_DATA 9u
56 #define CLEMEXT_ERR_NO_SQL 10u
57 #define CLEMEXT_ERR_NO_ERROR_DETAIL 11u
58 #define CLEMEXT_ERR_INTERRUPTED 12u
59 #define CLEMEXT_ERR_INSUFFICIENT_BUFFER 13u
60 #define CLEMEXT_ERR_CALLBACK 14u
61 #define CLEMEXT_ERR_NOT_INITIALIZED 15u
62 #define CLEMEXT_ERR_NOT_IMPLEMENTED 16u
63 #define CLEMEXT_ERR_CANNOT_MATCH_KEY 17u
64 #define CLEMEXT_ERR_EXCEPTION_THROWN 18u
65 #define CLEMEXT_ERR_NOT_INTERACTIVE 19u
66 #define CLEMEXT_ERR_NOT_INTERACTING 20u
67 #define CLEMEXT_ERR_INVALID_REQUEST 21u
68 #define CLEMEXT_ERR_NO_REPLY 22u
69 #define CLEMEXT_ERR_REMOTE 23u
70 #define CLEMEXT_ERR_INSUFFICIENT_METADATA 24u
71 #define CLEMEXT_ERR_FILE_ACCESS_RESTRICTED 25u
72 #define CLEMEXT_ERR_JVM_ATTACH_FAILED 39u
73 #define CLEMEXT_ERR_JVM_DETACH_FAILED 41u
76 
77 typedef int CLEMEXTErrorCode;
83 
84 #define CLEMEXT_NODE_DATA_READER 0
85 #define CLEMEXT_NODE_DATA_WRITER 1
86 #define CLEMEXT_NODE_DATA_TRANSFORMER 2
87 #define CLEMEXT_NODE_MODEL_BUILDER 3
88 #define CLEMEXT_NODE_MODEL_APPLIER 4
89 #define CLEMEXT_NODE_DOCUMENT_BUILDER 5
92 
93 /* Data Model Mode */
94 
95 #define CLEMEXT_MODE_QUERY 0
96 #define CLEMEXT_MODE_EXECUTE 1
97 
102 
103 #define CLEMEXT_FILEPATH_TYPE_DATA 0
104 #define CLEMEXT_FILEPATH_TYPE_PROGRAM 1
107 
108 
112 
113 typedef double CLEMEXTReal;
115 #ifdef _WIN32
116 typedef __int64 CLEMEXTInteger;
117 #else
118 typedef long long CLEMEXTInteger;
119 #endif
120 
121 typedef CLEMEXTInteger CLEMEXTTime;
122 typedef CLEMEXTInteger CLEMEXTDate;
123 typedef CLEMEXTInteger CLEMEXTDatetime;
125 
126 /* include opaque types */
127 #include "clemext_opaque.h"
128 
129 
134 
143 CLEMEXT_API CLEMEXTStatus
145  CLEMEXTHostHandle host,
146  CLEMEXTErrorCode* errorCode);
147 
155 CLEMEXT_API CLEMEXTStatus
157  CLEMEXTErrorCode* errorCode);
158 
171 CLEMEXT_API CLEMEXTStatus
173  char* buffer,
174  size_t buffer_size,
175  size_t* data_size,
176  CLEMEXTErrorCode* errorCode);
177 
189 CLEMEXT_API CLEMEXTStatus
191  CLEMEXTNodeHandle node,
192  int nodeType,
193  const char* nodeId,
194  CLEMEXTPeerHandle* peer,
195  CLEMEXTErrorCode* errorCode);
196 
205 CLEMEXT_API CLEMEXTStatus
207  CLEMEXTPeerHandle peer,
208  CLEMEXTErrorCode* errorCode);
209 
220 CLEMEXT_API CLEMEXTStatus
222  CLEMEXTPeerHandle peer,
223  CLEMEXTErrorCode* errorCode);
224 
238 CLEMEXT_API CLEMEXTStatus
240  CLEMEXTPeerHandle peer,
241  int mode,
242  char* buffer,
243  size_t buffer_size,
244  size_t* data_size,
245  CLEMEXTErrorCode* errorCode);
246 
247 
260 CLEMEXT_API CLEMEXTStatus
262  CLEMEXTPeerHandle peer,
263  char* buffer,
264  size_t buffer_size,
265  size_t* data_size,
266  CLEMEXTErrorCode* errorCode);
267 
281 CLEMEXT_API CLEMEXTStatus
283  CLEMEXTPeerHandle peer,
284  const char *catalogId,
285  char* buffer,
286  size_t buffer_size,
287  size_t* data_size,
288  CLEMEXTErrorCode* errorCode);
289 
300 CLEMEXT_API CLEMEXTStatus
302  CLEMEXTPeerHandle peer,
303  CLEMEXTIteratorHandle iterator,
304  CLEMEXTProgressHandle listener,
305  CLEMEXTErrorCode* errorCode);
306 
315 CLEMEXT_API CLEMEXTStatus
317  CLEMEXTPeerHandle peer,
318  CLEMEXTErrorCode* errorCode);
319 
328 CLEMEXT_API CLEMEXTStatus
330  CLEMEXTPeerHandle peer,
331  CLEMEXTErrorCode* errorCode);
332 
341 CLEMEXT_API CLEMEXTStatus
343  CLEMEXTPeerHandle peer,
344  CLEMEXTErrorCode* errorCode);
345 
359 CLEMEXT_API CLEMEXTStatus
361  CLEMEXTPeerHandle peer,
362  size_t index,
363  void** value,
364  size_t* value_length,
365  CLEMEXTErrorCode* errorCode);
366 
380 CLEMEXT_API CLEMEXTStatus
382  CLEMEXTPeerHandle peer,
383  char* buffer,
384  size_t buffer_size,
385  size_t* data_size,
386  CLEMEXTErrorCode* errorCode);
387 
401 CLEMEXT_API CLEMEXTStatus
403  CLEMEXTPeerHandle peer,
404  char* buffer,
405  size_t buffer_size,
406  size_t* data_size,
407  CLEMEXTErrorCode* errorCode);
408 
423 CLEMEXT_API CLEMEXTStatus
425  CLEMEXTPeerHandle peer,
426  CLEMEXTChannelHandle channel,
427  CLEMEXTErrorCode* errorCode);
428 
441 CLEMEXT_API CLEMEXTStatus
443  CLEMEXTPeerHandle peer,
444  CLEMEXTErrorCode* errorCode);
445 
462 CLEMEXT_API CLEMEXTStatus
464  CLEMEXTPeerHandle peer,
465  const char* request,
466  size_t request_size,
467  CLEMEXTErrorCode* errorCode);
468 
489 CLEMEXT_API CLEMEXTStatus
491  CLEMEXTPeerHandle peer,
492  char* reply_buffer,
493  size_t reply_buffer_size,
494  size_t* reply_data_size,
495  CLEMEXTErrorCode* errorCode);
496 
509 CLEMEXT_API CLEMEXTStatus
511  CLEMEXTPeerHandle peer,
512  char* buffer,
513  size_t buffer_size,
514  size_t* data_size,
515  CLEMEXTErrorCode* errorCode);
516 
525 CLEMEXT_API CLEMEXTStatus
527  CLEMEXTPeerHandle peer,
528  CLEMEXTErrorCode* errorCode);
529 
536 
541 
555 inline CLEMEXTStatus
557  CLEMEXTHostHandle host,
558  char* buffer,
559  size_t buffer_size,
560  size_t* data_size,
561  CLEMEXTErrorCode* errorCode)
562 {
563  return host->getHostInformation(host->target,buffer,buffer_size,data_size,errorCode);
564 }
565 
577 inline CLEMEXTStatus
579  CLEMEXTNodeHandle node,
580  char* buffer,
581  size_t buffer_size,
582  size_t* data_size,
583  CLEMEXTErrorCode* errorCode) {
584  return node->getNodeInformation(node->target,buffer,buffer_size,data_size,errorCode);
585 }
586 
597 inline CLEMEXTStatus
599  CLEMEXTNodeHandle node,
600  char* buffer,
601  size_t buffer_size,
602  size_t* data_size,
603  CLEMEXTErrorCode* errorCode) {
604  return node->getParameters(node->target,buffer,buffer_size,data_size,errorCode);
605 }
606 
617 inline CLEMEXTStatus
619  CLEMEXTNodeHandle node,
620  char* buffer,
621  size_t buffer_size,
622  size_t* data_size,
623  CLEMEXTErrorCode* errorCode) {
624  return node->getDataModel(node->target,buffer,buffer_size,data_size,errorCode);
625 }
626 
637 inline CLEMEXTStatus
639  CLEMEXTNodeHandle node,
640  char* buffer,
641  size_t buffer_size,
642  size_t* data_size,
643  CLEMEXTErrorCode* errorCode) {
644  return node->getOutputDataModel(node->target,buffer,buffer_size,data_size,errorCode);
645 }
646 
659 inline CLEMEXTStatus
661  CLEMEXTNodeHandle node,
662  char* buffer,
663  size_t buffer_size,
664  size_t* data_size,
665  CLEMEXTErrorCode* errorCode) {
666  return node->getSQLGeneration(node->target,buffer,buffer_size,data_size,errorCode);
667 }
668 
669 
682 inline CLEMEXTStatus
684  CLEMEXTNodeHandle node,
685  const char *passwordId,
686  char* buffer,
687  size_t buffer_size,
688  size_t* data_size,
689  CLEMEXTErrorCode* errorCode) {
690  return node->getPassword(node->target,passwordId,buffer,buffer_size,data_size,errorCode);
691 }
692 
705 inline CLEMEXTStatus
707  CLEMEXTNodeHandle node,
708  const char *fileId,
709  char* buffer,
710  size_t buffer_size,
711  size_t* data_size,
712  CLEMEXTErrorCode* errorCode) {
713  return node->getFilePath(node->target,fileId,buffer,buffer_size,data_size,errorCode);
714 }
715 
730 inline CLEMEXTStatus
732  CLEMEXTNodeHandle node,
733  const char* path,
734  char* buffer,
735  size_t buffer_size,
736  size_t* data_size,
737  CLEMEXTErrorCode* errorCode) {
738  return node->expandFilePath(node->target,path,buffer,buffer_size,data_size,errorCode);
739 }
740 
758 inline CLEMEXTStatus
760  CLEMEXTNodeHandle node,
761  const char* path,
762  unsigned int path_type,
763  char* buffer,
764  size_t buffer_size,
765  size_t* data_size,
766  CLEMEXTErrorCode* errorCode) {
767  return node->expandFilePathExt(node->target,path,path_type,buffer,buffer_size,data_size,errorCode);
768 }
769 
770 
779 inline CLEMEXTStatus
781  CLEMEXTIteratorHandle iterator,
782  CLEMEXTErrorCode* errorCode) {
783  return iterator->nextRecord(iterator->target,errorCode);
784 }
785 
799 inline CLEMEXTStatus
801  CLEMEXTIteratorHandle iterator,
802  size_t index,
803  void** value,
804  size_t* value_length,
805  CLEMEXTErrorCode* errorCode) {
806  return iterator->getRecordValue(iterator->target,index,value,value_length,errorCode);
807 }
808 
817 inline CLEMEXTStatus
819  CLEMEXTIteratorHandle iterator,
820  CLEMEXTErrorCode* errorCode) {
821  return iterator->rewind(iterator->target,errorCode);
822 }
823 
835 inline CLEMEXTStatus
837  CLEMEXTProgressHandle progress,
838  const char* report,
839  size_t report_size,
840  CLEMEXTErrorCode* errorCode) {
841  return progress->report(progress->target,report,report_size,errorCode);
842 }
843 
857 inline CLEMEXTStatus
859  CLEMEXTChannelHandle channel,
860  const char* message,
861  size_t message_size,
862  CLEMEXTErrorCode* errorCode) {
863  return channel->send(channel->target, message, message_size, errorCode);
864 }
865 
879 inline CLEMEXTStatus
881  CLEMEXTNodeHandle node,
882  char* buffer,
883  size_t buffer_size,
884  size_t* data_size,
885  CLEMEXTErrorCode* errorCode) {
886  return node->getPsmMergeInformation(node->target,buffer,buffer_size,data_size,errorCode);
887 }
888 
895 
903 inline void
905  CLEMEXTHostHandle host,
906  const char *text) {
907  host->trace(host->target, text);
908 }
909 
919 inline CLEMEXTStatus
921  CLEMEXTHostHandle host,
922  const char *root_element_name,
923  CLEMEXTXMLHandle *doc) {
924  return host->createNewDocument(host->target,root_element_name,doc);
925 }
926 
936 inline CLEMEXTStatus
938  CLEMEXTHostHandle host,
939  const char *contents,
940  CLEMEXTXMLHandle *doc) {
941  return host->createDocumentFromContents(host->target,contents,doc);
942 }
943 
954 inline CLEMEXTStatus
956  CLEMEXTXMLHandle doc) {
957  return doc->disposeDocument(doc->target);
958 }
959 
973 inline CLEMEXTStatus
975  CLEMEXTXMLHandle xml,
976  char* buffer,
977  size_t buffer_size,
978  size_t* data_size) {
979  return xml->doc2string(xml->target,buffer,buffer_size,data_size);
980 }
981 
992 inline CLEMEXTStatus
994  CLEMEXTXMLHandle xml,
995  char* buffer,
996  size_t buffer_size,
997  size_t* data_size) {
998  return xml->getName(xml->target,buffer,buffer_size,data_size);
999 }
1000 
1014 inline CLEMEXTStatus
1016  CLEMEXTXMLHandle xml,
1017  const char *name,
1018  char* buffer,
1019  size_t buffer_size,
1020  size_t* data_size) {
1021  return xml->getAttribute(xml->target,name,buffer,buffer_size,data_size);
1022 }
1023 
1033 inline CLEMEXTStatus
1035  CLEMEXTXMLHandle xml,
1036  const char *name,
1037  int *result) {
1038  return xml->hasAttribute(xml->target,name,result);
1039 }
1040 
1053 inline CLEMEXTStatus
1055  CLEMEXTXMLHandle xml,
1056  const char *name,
1057  CLEMEXTXMLIteratorHandle *iterator) {
1058  return xml->getElementIterator(xml->target,name,iterator);
1059 }
1060 
1072 inline CLEMEXTStatus
1074  CLEMEXTXMLHandle xml,
1075  CLEMEXTXMLIteratorHandle *iterator) {
1076  return xml->getTextIterator(xml->target,iterator);
1077 }
1078 
1088 inline CLEMEXTStatus
1090  CLEMEXTXMLHandle xml,
1091  const char *attribute_name,
1092  const char *attribute_value) {
1093  return xml->addAttribute(xml->target,attribute_name,attribute_value);
1094 }
1095 
1104 inline CLEMEXTStatus
1106  CLEMEXTXMLHandle xml,
1107  const char *attribute_name) {
1108  return xml->removeAttribute(xml->target,attribute_name);
1109 }
1110 
1119 inline CLEMEXTStatus
1121  CLEMEXTXMLHandle xml,
1122  const char *data) {
1123  return xml->addText(xml->target,data);
1124 }
1125 
1126 
1136 inline CLEMEXTStatus
1138  CLEMEXTXMLHandle xml,
1139  const char *element_name,
1140  void **new_element) {
1141  return xml->addElement(xml->target,element_name,new_element);
1142 }
1143 
1152 inline CLEMEXTStatus
1154  CLEMEXTXMLIteratorHandle iterator,
1155  int *result
1156  ) {
1157  return iterator->hasMoreItems(iterator->target,result);
1158 }
1159 
1168 inline CLEMEXTStatus
1170  CLEMEXTXMLIteratorHandle iterator,
1171  void **item
1172  ) {
1173  return iterator->nextItem(iterator->target,item);
1174 }
1175 
1185 inline CLEMEXTStatus
1187  CLEMEXTXMLIteratorHandle iterator
1188  ) {
1189  return iterator->deleteCurrentItem(iterator->target);
1190 }
1191 
1199 inline CLEMEXTStatus
1201  CLEMEXTXMLIteratorHandle iterator
1202  ) {
1203  return iterator->close(iterator->target);
1204 }
1205 
1206 /*
1207  PRIVATE: Called by the host to exploit peer functionality that cannot be accessed via the normal CLEF API
1208 
1209  @param fnName name of a function or service in the peer to invoke
1210  @param in_buffers an array of pointers to the arguments to pass in
1211  @param out_buffers the address of an array pointers - set by the peer to return results
1212 */
1213 CLEMEXT_API CLEMEXTStatus
1215  CLEMEXTPeerHandle peer,
1216  const char *fnName,
1217  void **in_buffers,
1218  void ***out_buffers,
1219  CLEMEXTErrorCode *errorCode );
1220 
1221 /*
1222  PRIVATE:
1223  Called by the module to attach the current thread to a JVM.
1224 
1225  @param node a CLEMEXTNodeHandle (as passed to the module by call @ref clemext_create_peer)
1226  @param jni_env address of a jni_env pointer to a JNIEnv JNI object (cast to void *) in which to return the JNI object
1227  @param options a string supplying further options (not currently used, reserved for future use)
1228  @param errorCode a CLEMEXT error code providing more detail if a problem is encountered
1229 
1230  @return CLEMEXT status code
1231 */
1232 inline CLEMEXTStatus
1234  CLEMEXTNodeHandle node,
1235  void** jni_env,
1236  const char* options,
1237  CLEMEXTErrorCode* errorCode)
1238 {
1239  return node->attachJVM(node->target, jni_env, options, errorCode);
1240 }
1241 
1242 /*
1243  PRIVATE:
1244  Called by the module to release a JNI Env.
1245 
1246  @param node a CLEMEXTNodeHandle (as passed to the module by call @ref clemext_create_peer)
1247  @param jni_env pointer to a JNIEnv JNI object (cast to void *)
1248  @param errorCode a CLEMEXT error code providing more detail if a problem is encountered
1249 
1250  @return CLEMEXT status code
1251 */
1252 inline CLEMEXTStatus
1254  CLEMEXTNodeHandle node,
1255  void* jni_env,
1256  CLEMEXTErrorCode *errorCode)
1257 {
1258  return node->detachJVM(node->target, jni_env, errorCode);
1259 }
1260 
1263 
1264 #ifdef __cplusplus
1265 }
1266 #endif
1267 
1268 #endif /* CLEMEXT_H_INCLUDED */
CLEMEXT_API CLEMEXTStatus clemext_initialise(CLEMEXTHostHandle host, CLEMEXTErrorCode *errorCode)
CLEMEXT_API CLEMEXTStatus clemext_peer_getDataModel(CLEMEXTPeerHandle peer, int mode, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
CLEMEXT_API CLEMEXTStatus clemext_peer_request(CLEMEXTPeerHandle peer, const char *request, size_t request_size, CLEMEXTErrorCode *errorCode)
CLEMEXTStatus clemext_xml_addText(CLEMEXTXMLHandle xml, const char *data)
Definition: clemext.h:1120
CLEMEXTInteger CLEMEXTDate
Definition: clemext.h:122
CLEMEXTStatus clemext_host_createNewDocument(CLEMEXTHostHandle host, const char *root_element_name, CLEMEXTXMLHandle *doc)
Definition: clemext.h:920
CLEMEXTStatus clemext_host_createDocumentFromContents(CLEMEXTHostHandle host, const char *contents, CLEMEXTXMLHandle *doc)
Definition: clemext.h:937
CLEMEXTStatus clemext_xml_getElementIterator(CLEMEXTXMLHandle xml, const char *name, CLEMEXTXMLIteratorHandle *iterator)
Definition: clemext.h:1054
double CLEMEXTReal
Definition: clemext.h:113
CLEMEXTStatus clemext_xml_hasAttribute(CLEMEXTXMLHandle xml, const char *name, int *result)
Definition: clemext.h:1034
CLEMEXTStatus clemext_xml_addAttribute(CLEMEXTXMLHandle xml, const char *attribute_name, const char *attribute_value)
Definition: clemext.h:1089
CLEMEXT_API CLEMEXTStatus clemext_peer_getRequestReply(CLEMEXTPeerHandle peer, char *reply_buffer, size_t reply_buffer_size, size_t *reply_data_size, CLEMEXTErrorCode *errorCode)
CLEMEXT_API CLEMEXTStatus clemext_peer_endExecution(CLEMEXTPeerHandle peer, CLEMEXTErrorCode *errorCode)
CLEMEXT_API CLEMEXTStatus clemext_create_peer(CLEMEXTNodeHandle node, int nodeType, const char *nodeId, CLEMEXTPeerHandle *peer, CLEMEXTErrorCode *errorCode)
CLEMEXT_API CLEMEXTStatus clemext_peer_endInteraction(CLEMEXTPeerHandle peer, CLEMEXTErrorCode *errorCode)
CLEMEXTStatus clemext_node_getParameters(CLEMEXTNodeHandle node, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:598
CLEMEXT_API CLEMEXTStatus clemext_peer_getExecutionRequirements(CLEMEXTPeerHandle peer, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
CLEMEXTStatus clemext_xml_getTextIterator(CLEMEXTXMLHandle xml, CLEMEXTXMLIteratorHandle *iterator)
Definition: clemext.h:1073
CLEMEXTStatus clemext_xmliterator_nextItem(CLEMEXTXMLIteratorHandle iterator, void **item)
Definition: clemext.h:1169
CLEMEXTStatus clemext_channel_send(CLEMEXTChannelHandle channel, const char *message, size_t message_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:858
CLEMEXT_API CLEMEXTStatus clemext_cleanup(CLEMEXTErrorCode *errorCode)
CLEMEXTStatus clemext_progress_report(CLEMEXTProgressHandle progress, const char *report, size_t report_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:836
CLEMEXTStatus clemext_node_getDataModel(CLEMEXTNodeHandle node, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:618
CLEMEXTInteger CLEMEXTTime
Definition: clemext.h:121
CLEMEXT_API CLEMEXTStatus clemext_getModuleInformation(char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
CLEMEXT_API CLEMEXTStatus clemext_peer_getRecordValue(CLEMEXTPeerHandle peer, size_t index, void **value, size_t *value_length, CLEMEXTErrorCode *errorCode)
CLEMEXTStatus clemext_iterator_nextRecord(CLEMEXTIteratorHandle iterator, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:780
long long CLEMEXTInteger
Definition: clemext.h:118
CLEMEXT_API CLEMEXTStatus clemext_peer_nextRecord(CLEMEXTPeerHandle peer, CLEMEXTErrorCode *errorCode)
CLEMEXTStatus clemext_node_getPsmMergeInformation(CLEMEXTNodeHandle node, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:880
CLEMEXT_API CLEMEXTStatus clemext_peer_psmMerge(CLEMEXTPeerHandle peer, CLEMEXTErrorCode *errorCode)
CLEMEXTInteger CLEMEXTDatetime
Definition: clemext.h:123
#define CLEMEXT_API
Definition: clemext.h:34
CLEMEXTStatus clemext_node_detachJVM(CLEMEXTNodeHandle node, void *jni_env, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:1253
CLEMEXTStatus clemext_xml_doc2string(CLEMEXTXMLHandle xml, char *buffer, size_t buffer_size, size_t *data_size)
Definition: clemext.h:974
CLEMEXTStatus clemext_node_attachJVM(CLEMEXTNodeHandle node, void **jni_env, const char *options, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:1233
CLEMEXTStatus clemext_iterator_rewind(CLEMEXTIteratorHandle iterator, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:818
CLEMEXTStatus clemext_node_getOutputDataModel(CLEMEXTNodeHandle node, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:638
CLEMEXTStatus clemext_node_expandFilePath(CLEMEXTNodeHandle node, const char *path, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:731
CLEMEXTStatus clemext_xmliterator_deleteCurrentItem(CLEMEXTXMLIteratorHandle iterator)
Definition: clemext.h:1186
int CLEMEXTErrorCode
Definition: clemext.h:77
CLEMEXT_API CLEMEXTStatus clemext_destroy_peer(CLEMEXTPeerHandle peer, CLEMEXTErrorCode *errorCode)
CLEMEXT_API CLEMEXTStatus clemext_peer_call(CLEMEXTPeerHandle peer, const char *fnName, void **in_buffers, void ***out_buffers, CLEMEXTErrorCode *errorCode)
CLEMEXTStatus clemext_xml_addElement(CLEMEXTXMLHandle xml, const char *element_name, void **new_element)
Definition: clemext.h:1137
CLEMEXTStatus clemext_node_getFilePath(CLEMEXTNodeHandle node, const char *fileId, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:706
CLEMEXTStatus clemext_xml_disposeDocument(CLEMEXTXMLHandle doc)
Definition: clemext.h:955
void clemext_host_trace(CLEMEXTHostHandle host, const char *text)
Definition: clemext.h:904
CLEMEXT_API CLEMEXTStatus clemext_peer_beginExecution(CLEMEXTPeerHandle peer, CLEMEXTIteratorHandle iterator, CLEMEXTProgressHandle listener, CLEMEXTErrorCode *errorCode)
CLEMEXTStatus clemext_iterator_getRecordValue(CLEMEXTIteratorHandle iterator, size_t index, void **value, size_t *value_length, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:800
CLEMEXTStatus clemext_node_expandFilePathExt(CLEMEXTNodeHandle node, const char *path, unsigned int path_type, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:759
CLEMEXTStatus clemext_node_getNodeInformation(CLEMEXTNodeHandle node, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:578
CLEMEXTStatus clemext_node_getPassword(CLEMEXTNodeHandle node, const char *passwordId, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:683
CLEMEXT_API CLEMEXTStatus clemext_peer_configure(CLEMEXTPeerHandle peer, CLEMEXTErrorCode *errorCode)
CLEMEXTStatus clemext_node_getSQLGeneration(CLEMEXTNodeHandle node, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:660
CLEMEXT_API CLEMEXTStatus clemext_peer_getCatalogueInformation(CLEMEXTPeerHandle peer, const char *catalogId, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
CLEMEXTStatus clemext_xml_removeAttribute(CLEMEXTXMLHandle xml, const char *attribute_name)
Definition: clemext.h:1105
CLEMEXTStatus clemext_host_getHostInformation(CLEMEXTHostHandle host, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:556
unsigned CLEMEXTStatus
Definition: clemext.h:44
CLEMEXT_API CLEMEXTStatus clemext_peer_beginInteraction(CLEMEXTPeerHandle peer, CLEMEXTChannelHandle channel, CLEMEXTErrorCode *errorCode)
CLEMEXTStatus clemext_xml_getAttribute(CLEMEXTXMLHandle xml, const char *name, char *buffer, size_t buffer_size, size_t *data_size)
Definition: clemext.h:1015
CLEMEXT_API CLEMEXTStatus clemext_peer_getPsmControlInformation(CLEMEXTPeerHandle peer, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
CLEMEXTStatus clemext_xml_getName(CLEMEXTXMLHandle xml, char *buffer, size_t buffer_size, size_t *data_size)
Definition: clemext.h:993
CLEMEXTStatus clemext_xmliterator_close(CLEMEXTXMLIteratorHandle iterator)
Definition: clemext.h:1200
CLEMEXT_API CLEMEXTStatus clemext_peer_getSQLGeneration(CLEMEXTPeerHandle peer, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
CLEMEXT_API CLEMEXTStatus clemext_peer_getErrorDetail(CLEMEXTPeerHandle peer, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
CLEMEXTStatus clemext_xmliterator_hasMoreItems(CLEMEXTXMLIteratorHandle iterator, int *result)
Definition: clemext.h:1153
CLEMEXT_API CLEMEXTStatus clemext_peer_cancelExecution(CLEMEXTPeerHandle peer, CLEMEXTErrorCode *errorCode)