Modeler Extensions Framework
clemext.h
Go to the documentation of this file.
1 //============================================================================
2 // Licensed Materials - Property of IBM
3 //
4 // IBM SPSS Products: Modeler
5 //
6 // (C) Copyright IBM Corp. 1994, 2014
7 //
8 // US Government Users Restricted Rights - Use, duplication or disclosure restricted
9 // by GSA ADP Schedule Contract with IBM Corp.
10 //============================================================================
11 
12 #ifndef CLEMEXT_H_INCLUDED
13 #define CLEMEXT_H_INCLUDED
14 
15 #include <sys/types.h>
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #if (defined(_MSC_VER) && _MSC_VER >= 1100) || defined(HPUX) // VC++ and HPUX
22  #ifdef CLEMEXT_EXPORTS
23  #define CLEMEXT_API __declspec(dllexport)
24  #else
25  #define CLEMEXT_API __declspec(dllimport)
26  #endif
27 #elif defined(SOLARIS) // SOLARIS
28  #define CLEMEXT_API __global
29 #elif defined(LINUX) // LINUX
30  #define CLEMEXT_API __attribute__ ((visibility ("default")))
31 #else // other platforms
32  #define CLEMEXT_API
33 #endif
34 
35 
36 
41 
42 typedef unsigned CLEMEXTStatus;
43 
44 #define CLEMEXT_OK 0u
45 #define CLEMEXT_ERR_MODULE_SPECIFIC 1u
46 #define CLEMEXT_ERR_INVALID_HANDLE 2u
47 #define CLEMEXT_ERR_INVALID_OPERATION 3u
48 #define CLEMEXT_ERR_NODE_TYPE_NOT_SUPPORTED 4u
49 #define CLEMEXT_ERR_XML 5u
50 #define CLEMEXT_ERR_NOT_CONFIGURED 6u
51 #define CLEMEXT_ERR_NOT_EXECUTABLE 7u
52 #define CLEMEXT_ERR_NOT_EXECUTING 8u
53 #define CLEMEXT_ERR_NO_DATA 9u
54 #define CLEMEXT_ERR_NO_SQL 10u
55 #define CLEMEXT_ERR_NO_ERROR_DETAIL 11u
56 #define CLEMEXT_ERR_INTERRUPTED 12u
57 #define CLEMEXT_ERR_INSUFFICIENT_BUFFER 13u
58 #define CLEMEXT_ERR_CALLBACK 14u
59 #define CLEMEXT_ERR_NOT_INITIALIZED 15u
60 #define CLEMEXT_ERR_NOT_IMPLEMENTED 16u
61 #define CLEMEXT_ERR_CANNOT_MATCH_KEY 17u
62 #define CLEMEXT_ERR_EXCEPTION_THROWN 18u
63 #define CLEMEXT_ERR_NOT_INTERACTIVE 19u
64 #define CLEMEXT_ERR_NOT_INTERACTING 20u
65 #define CLEMEXT_ERR_INVALID_REQUEST 21u
66 #define CLEMEXT_ERR_NO_REPLY 22u
67 #define CLEMEXT_ERR_REMOTE 23u
68 #define CLEMEXT_ERR_INSUFFICIENT_METADATA 24u
69 #define CLEMEXT_ERR_FILE_ACCESS_RESTRICTED 25u
70 #define CLEMEXT_ERR_JVM_ATTACH_FAILED 39u
71 #define CLEMEXT_ERR_JVM_DETACH_FAILED 41u
74 
75 typedef int CLEMEXTErrorCode;
81 
82 #define CLEMEXT_NODE_DATA_READER 0
83 #define CLEMEXT_NODE_DATA_WRITER 1
84 #define CLEMEXT_NODE_DATA_TRANSFORMER 2
85 #define CLEMEXT_NODE_MODEL_BUILDER 3
86 #define CLEMEXT_NODE_MODEL_APPLIER 4
87 #define CLEMEXT_NODE_DOCUMENT_BUILDER 5
90 
91 /* Data Model Mode */
92 
93 #define CLEMEXT_MODE_QUERY 0
94 #define CLEMEXT_MODE_EXECUTE 1
95 
100 
101 #define CLEMEXT_FILEPATH_TYPE_DATA 0
102 #define CLEMEXT_FILEPATH_TYPE_PROGRAM 1
105 
106 
110 
111 typedef double CLEMEXTReal;
113 #ifdef _WIN32
114 typedef __int64 CLEMEXTInteger;
115 #else
116 typedef long long CLEMEXTInteger;
117 #endif
118 
119 typedef CLEMEXTInteger CLEMEXTTime;
120 typedef CLEMEXTInteger CLEMEXTDate;
121 typedef CLEMEXTInteger CLEMEXTDatetime;
123 
124 /* include opaque types */
125 #include "clemext_opaque.h"
126 
127 
132 
141 CLEMEXT_API CLEMEXTStatus
143  CLEMEXTHostHandle host,
144  CLEMEXTErrorCode* errorCode);
145 
153 CLEMEXT_API CLEMEXTStatus
155  CLEMEXTErrorCode* errorCode);
156 
169 CLEMEXT_API CLEMEXTStatus
171  char* buffer,
172  size_t buffer_size,
173  size_t* data_size,
174  CLEMEXTErrorCode* errorCode);
175 
187 CLEMEXT_API CLEMEXTStatus
189  CLEMEXTNodeHandle node,
190  int nodeType,
191  const char* nodeId,
192  CLEMEXTPeerHandle* peer,
193  CLEMEXTErrorCode* errorCode);
194 
203 CLEMEXT_API CLEMEXTStatus
205  CLEMEXTPeerHandle peer,
206  CLEMEXTErrorCode* errorCode);
207 
218 CLEMEXT_API CLEMEXTStatus
220  CLEMEXTPeerHandle peer,
221  CLEMEXTErrorCode* errorCode);
222 
236 CLEMEXT_API CLEMEXTStatus
238  CLEMEXTPeerHandle peer,
239  int mode,
240  char* buffer,
241  size_t buffer_size,
242  size_t* data_size,
243  CLEMEXTErrorCode* errorCode);
244 
245 
258 CLEMEXT_API CLEMEXTStatus
260  CLEMEXTPeerHandle peer,
261  char* buffer,
262  size_t buffer_size,
263  size_t* data_size,
264  CLEMEXTErrorCode* errorCode);
265 
279 CLEMEXT_API CLEMEXTStatus
281  CLEMEXTPeerHandle peer,
282  const char *catalogId,
283  char* buffer,
284  size_t buffer_size,
285  size_t* data_size,
286  CLEMEXTErrorCode* errorCode);
287 
298 CLEMEXT_API CLEMEXTStatus
300  CLEMEXTPeerHandle peer,
301  CLEMEXTIteratorHandle iterator,
302  CLEMEXTProgressHandle listener,
303  CLEMEXTErrorCode* errorCode);
304 
313 CLEMEXT_API CLEMEXTStatus
315  CLEMEXTPeerHandle peer,
316  CLEMEXTErrorCode* errorCode);
317 
326 CLEMEXT_API CLEMEXTStatus
328  CLEMEXTPeerHandle peer,
329  CLEMEXTErrorCode* errorCode);
330 
339 CLEMEXT_API CLEMEXTStatus
341  CLEMEXTPeerHandle peer,
342  CLEMEXTErrorCode* errorCode);
343 
357 CLEMEXT_API CLEMEXTStatus
359  CLEMEXTPeerHandle peer,
360  size_t index,
361  void** value,
362  size_t* value_length,
363  CLEMEXTErrorCode* errorCode);
364 
378 CLEMEXT_API CLEMEXTStatus
380  CLEMEXTPeerHandle peer,
381  char* buffer,
382  size_t buffer_size,
383  size_t* data_size,
384  CLEMEXTErrorCode* errorCode);
385 
399 CLEMEXT_API CLEMEXTStatus
401  CLEMEXTPeerHandle peer,
402  char* buffer,
403  size_t buffer_size,
404  size_t* data_size,
405  CLEMEXTErrorCode* errorCode);
406 
421 CLEMEXT_API CLEMEXTStatus
423  CLEMEXTPeerHandle peer,
424  CLEMEXTChannelHandle channel,
425  CLEMEXTErrorCode* errorCode);
426 
439 CLEMEXT_API CLEMEXTStatus
441  CLEMEXTPeerHandle peer,
442  CLEMEXTErrorCode* errorCode);
443 
460 CLEMEXT_API CLEMEXTStatus
462  CLEMEXTPeerHandle peer,
463  const char* request,
464  size_t request_size,
465  CLEMEXTErrorCode* errorCode);
466 
487 CLEMEXT_API CLEMEXTStatus
489  CLEMEXTPeerHandle peer,
490  char* reply_buffer,
491  size_t reply_buffer_size,
492  size_t* reply_data_size,
493  CLEMEXTErrorCode* errorCode);
494 
507 CLEMEXT_API CLEMEXTStatus
509  CLEMEXTPeerHandle peer,
510  char* buffer,
511  size_t buffer_size,
512  size_t* data_size,
513  CLEMEXTErrorCode* errorCode);
514 
523 CLEMEXT_API CLEMEXTStatus
525  CLEMEXTPeerHandle peer,
526  CLEMEXTErrorCode* errorCode);
527 
534 
539 
553 inline CLEMEXTStatus
555  CLEMEXTHostHandle host,
556  char* buffer,
557  size_t buffer_size,
558  size_t* data_size,
559  CLEMEXTErrorCode* errorCode)
560 {
561  return host->getHostInformation(host->target,buffer,buffer_size,data_size,errorCode);
562 }
563 
575 inline CLEMEXTStatus
577  CLEMEXTNodeHandle node,
578  char* buffer,
579  size_t buffer_size,
580  size_t* data_size,
581  CLEMEXTErrorCode* errorCode) {
582  return node->getNodeInformation(node->target,buffer,buffer_size,data_size,errorCode);
583 }
584 
595 inline CLEMEXTStatus
597  CLEMEXTNodeHandle node,
598  char* buffer,
599  size_t buffer_size,
600  size_t* data_size,
601  CLEMEXTErrorCode* errorCode) {
602  return node->getParameters(node->target,buffer,buffer_size,data_size,errorCode);
603 }
604 
615 inline CLEMEXTStatus
617  CLEMEXTNodeHandle node,
618  char* buffer,
619  size_t buffer_size,
620  size_t* data_size,
621  CLEMEXTErrorCode* errorCode) {
622  return node->getDataModel(node->target,buffer,buffer_size,data_size,errorCode);
623 }
624 
635 inline CLEMEXTStatus
637  CLEMEXTNodeHandle node,
638  char* buffer,
639  size_t buffer_size,
640  size_t* data_size,
641  CLEMEXTErrorCode* errorCode) {
642  return node->getOutputDataModel(node->target,buffer,buffer_size,data_size,errorCode);
643 }
644 
657 inline CLEMEXTStatus
659  CLEMEXTNodeHandle node,
660  char* buffer,
661  size_t buffer_size,
662  size_t* data_size,
663  CLEMEXTErrorCode* errorCode) {
664  return node->getSQLGeneration(node->target,buffer,buffer_size,data_size,errorCode);
665 }
666 
667 
680 inline CLEMEXTStatus
682  CLEMEXTNodeHandle node,
683  const char *passwordId,
684  char* buffer,
685  size_t buffer_size,
686  size_t* data_size,
687  CLEMEXTErrorCode* errorCode) {
688  return node->getPassword(node->target,passwordId,buffer,buffer_size,data_size,errorCode);
689 }
690 
703 inline CLEMEXTStatus
705  CLEMEXTNodeHandle node,
706  const char *fileId,
707  char* buffer,
708  size_t buffer_size,
709  size_t* data_size,
710  CLEMEXTErrorCode* errorCode) {
711  return node->getFilePath(node->target,fileId,buffer,buffer_size,data_size,errorCode);
712 }
713 
728 inline CLEMEXTStatus
730  CLEMEXTNodeHandle node,
731  const char* path,
732  char* buffer,
733  size_t buffer_size,
734  size_t* data_size,
735  CLEMEXTErrorCode* errorCode) {
736  return node->expandFilePath(node->target,path,buffer,buffer_size,data_size,errorCode);
737 }
738 
756 inline CLEMEXTStatus
758  CLEMEXTNodeHandle node,
759  const char* path,
760  unsigned int path_type,
761  char* buffer,
762  size_t buffer_size,
763  size_t* data_size,
764  CLEMEXTErrorCode* errorCode) {
765  return node->expandFilePathExt(node->target,path,path_type,buffer,buffer_size,data_size,errorCode);
766 }
767 
768 
777 inline CLEMEXTStatus
779  CLEMEXTIteratorHandle iterator,
780  CLEMEXTErrorCode* errorCode) {
781  return iterator->nextRecord(iterator->target,errorCode);
782 }
783 
797 inline CLEMEXTStatus
799  CLEMEXTIteratorHandle iterator,
800  size_t index,
801  void** value,
802  size_t* value_length,
803  CLEMEXTErrorCode* errorCode) {
804  return iterator->getRecordValue(iterator->target,index,value,value_length,errorCode);
805 }
806 
815 inline CLEMEXTStatus
817  CLEMEXTIteratorHandle iterator,
818  CLEMEXTErrorCode* errorCode) {
819  return iterator->rewind(iterator->target,errorCode);
820 }
821 
833 inline CLEMEXTStatus
835  CLEMEXTProgressHandle progress,
836  const char* report,
837  size_t report_size,
838  CLEMEXTErrorCode* errorCode) {
839  return progress->report(progress->target,report,report_size,errorCode);
840 }
841 
855 inline CLEMEXTStatus
857  CLEMEXTChannelHandle channel,
858  const char* message,
859  size_t message_size,
860  CLEMEXTErrorCode* errorCode) {
861  return channel->send(channel->target, message, message_size, errorCode);
862 }
863 
877 inline CLEMEXTStatus
879  CLEMEXTNodeHandle node,
880  char* buffer,
881  size_t buffer_size,
882  size_t* data_size,
883  CLEMEXTErrorCode* errorCode) {
884  return node->getPsmMergeInformation(node->target,buffer,buffer_size,data_size,errorCode);
885 }
886 
893 
901 inline void
903  CLEMEXTHostHandle host,
904  const char *text) {
905  host->trace(host->target, text);
906 }
907 
917 inline CLEMEXTStatus
919  CLEMEXTHostHandle host,
920  const char *root_element_name,
921  CLEMEXTXMLHandle *doc) {
922  return host->createNewDocument(host->target,root_element_name,doc);
923 }
924 
934 inline CLEMEXTStatus
936  CLEMEXTHostHandle host,
937  const char *contents,
938  CLEMEXTXMLHandle *doc) {
939  return host->createDocumentFromContents(host->target,contents,doc);
940 }
941 
952 inline CLEMEXTStatus
954  CLEMEXTXMLHandle doc) {
955  return doc->disposeDocument(doc->target);
956 }
957 
971 inline CLEMEXTStatus
973  CLEMEXTXMLHandle xml,
974  char* buffer,
975  size_t buffer_size,
976  size_t* data_size) {
977  return xml->doc2string(xml->target,buffer,buffer_size,data_size);
978 }
979 
990 inline CLEMEXTStatus
992  CLEMEXTXMLHandle xml,
993  char* buffer,
994  size_t buffer_size,
995  size_t* data_size) {
996  return xml->getName(xml->target,buffer,buffer_size,data_size);
997 }
998 
1012 inline CLEMEXTStatus
1014  CLEMEXTXMLHandle xml,
1015  const char *name,
1016  char* buffer,
1017  size_t buffer_size,
1018  size_t* data_size) {
1019  return xml->getAttribute(xml->target,name,buffer,buffer_size,data_size);
1020 }
1021 
1031 inline CLEMEXTStatus
1033  CLEMEXTXMLHandle xml,
1034  const char *name,
1035  int *result) {
1036  return xml->hasAttribute(xml->target,name,result);
1037 }
1038 
1051 inline CLEMEXTStatus
1053  CLEMEXTXMLHandle xml,
1054  const char *name,
1055  CLEMEXTXMLIteratorHandle *iterator) {
1056  return xml->getElementIterator(xml->target,name,iterator);
1057 }
1058 
1070 inline CLEMEXTStatus
1072  CLEMEXTXMLHandle xml,
1073  CLEMEXTXMLIteratorHandle *iterator) {
1074  return xml->getTextIterator(xml->target,iterator);
1075 }
1076 
1086 inline CLEMEXTStatus
1088  CLEMEXTXMLHandle xml,
1089  const char *attribute_name,
1090  const char *attribute_value) {
1091  return xml->addAttribute(xml->target,attribute_name,attribute_value);
1092 }
1093 
1102 inline CLEMEXTStatus
1104  CLEMEXTXMLHandle xml,
1105  const char *attribute_name) {
1106  return xml->removeAttribute(xml->target,attribute_name);
1107 }
1108 
1117 inline CLEMEXTStatus
1119  CLEMEXTXMLHandle xml,
1120  const char *data) {
1121  return xml->addText(xml->target,data);
1122 }
1123 
1124 
1134 inline CLEMEXTStatus
1136  CLEMEXTXMLHandle xml,
1137  const char *element_name,
1138  void **new_element) {
1139  return xml->addElement(xml->target,element_name,new_element);
1140 }
1141 
1150 inline CLEMEXTStatus
1152  CLEMEXTXMLIteratorHandle iterator,
1153  int *result
1154  ) {
1155  return iterator->hasMoreItems(iterator->target,result);
1156 }
1157 
1166 inline CLEMEXTStatus
1168  CLEMEXTXMLIteratorHandle iterator,
1169  void **item
1170  ) {
1171  return iterator->nextItem(iterator->target,item);
1172 }
1173 
1183 inline CLEMEXTStatus
1185  CLEMEXTXMLIteratorHandle iterator
1186  ) {
1187  return iterator->deleteCurrentItem(iterator->target);
1188 }
1189 
1197 inline CLEMEXTStatus
1199  CLEMEXTXMLIteratorHandle iterator
1200  ) {
1201  return iterator->close(iterator->target);
1202 }
1203 
1204 /*
1205  PRIVATE: Called by the host to exploit peer functionality that cannot be accessed via the normal CLEF API
1206 
1207  @param fnName name of a function or service in the peer to invoke
1208  @param in_buffers an array of pointers to the arguments to pass in
1209  @param out_buffers the address of an array pointers - set by the peer to return results
1210 */
1211 CLEMEXT_API CLEMEXTStatus
1213  CLEMEXTPeerHandle peer,
1214  const char *fnName,
1215  void **in_buffers,
1216  void ***out_buffers,
1217  CLEMEXTErrorCode *errorCode );
1218 
1219 /*
1220  PRIVATE:
1221  Called by the module to attach the current thread to a JVM.
1222 
1223  @param node a CLEMEXTNodeHandle (as passed to the module by call @ref clemext_create_peer)
1224  @param jni_env address of a jni_env pointer to a JNIEnv JNI object (cast to void *) in which to return the JNI object
1225  @param options a string supplying further options (not currently used, reserved for future use)
1226  @param errorCode a CLEMEXT error code providing more detail if a problem is encountered
1227 
1228  @return CLEMEXT status code
1229 */
1230 inline CLEMEXTStatus
1232  CLEMEXTNodeHandle node,
1233  void** jni_env,
1234  const char* options,
1235  CLEMEXTErrorCode* errorCode)
1236 {
1237  return node->attachJVM(node->target, jni_env, options, errorCode);
1238 }
1239 
1240 /*
1241  PRIVATE:
1242  Called by the module to release a JNI Env.
1243 
1244  @param node a CLEMEXTNodeHandle (as passed to the module by call @ref clemext_create_peer)
1245  @param jni_env pointer to a JNIEnv JNI object (cast to void *)
1246  @param errorCode a CLEMEXT error code providing more detail if a problem is encountered
1247 
1248  @return CLEMEXT status code
1249 */
1250 inline CLEMEXTStatus
1252  CLEMEXTNodeHandle node,
1253  void* jni_env,
1254  CLEMEXTErrorCode *errorCode)
1255 {
1256  return node->detachJVM(node->target, jni_env, errorCode);
1257 }
1258 
1261 
1262 #ifdef __cplusplus
1263 }
1264 #endif
1265 
1266 #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:1118
CLEMEXTInteger CLEMEXTDate
Definition: clemext.h:120
CLEMEXTStatus clemext_host_createNewDocument(CLEMEXTHostHandle host, const char *root_element_name, CLEMEXTXMLHandle *doc)
Definition: clemext.h:918
CLEMEXTStatus clemext_host_createDocumentFromContents(CLEMEXTHostHandle host, const char *contents, CLEMEXTXMLHandle *doc)
Definition: clemext.h:935
CLEMEXTStatus clemext_xml_getElementIterator(CLEMEXTXMLHandle xml, const char *name, CLEMEXTXMLIteratorHandle *iterator)
Definition: clemext.h:1052
double CLEMEXTReal
Definition: clemext.h:111
CLEMEXTStatus clemext_xml_hasAttribute(CLEMEXTXMLHandle xml, const char *name, int *result)
Definition: clemext.h:1032
CLEMEXTStatus clemext_xml_addAttribute(CLEMEXTXMLHandle xml, const char *attribute_name, const char *attribute_value)
Definition: clemext.h:1087
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:596
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:1071
CLEMEXTStatus clemext_xmliterator_nextItem(CLEMEXTXMLIteratorHandle iterator, void **item)
Definition: clemext.h:1167
CLEMEXTStatus clemext_channel_send(CLEMEXTChannelHandle channel, const char *message, size_t message_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:856
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:834
CLEMEXTStatus clemext_node_getDataModel(CLEMEXTNodeHandle node, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:616
CLEMEXTInteger CLEMEXTTime
Definition: clemext.h:119
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:778
long long CLEMEXTInteger
Definition: clemext.h:116
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:878
CLEMEXT_API CLEMEXTStatus clemext_peer_psmMerge(CLEMEXTPeerHandle peer, CLEMEXTErrorCode *errorCode)
CLEMEXTInteger CLEMEXTDatetime
Definition: clemext.h:121
#define CLEMEXT_API
Definition: clemext.h:32
CLEMEXTStatus clemext_node_detachJVM(CLEMEXTNodeHandle node, void *jni_env, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:1251
CLEMEXTStatus clemext_xml_doc2string(CLEMEXTXMLHandle xml, char *buffer, size_t buffer_size, size_t *data_size)
Definition: clemext.h:972
CLEMEXTStatus clemext_node_attachJVM(CLEMEXTNodeHandle node, void **jni_env, const char *options, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:1231
CLEMEXTStatus clemext_iterator_rewind(CLEMEXTIteratorHandle iterator, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:816
CLEMEXTStatus clemext_node_getOutputDataModel(CLEMEXTNodeHandle node, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:636
CLEMEXTStatus clemext_node_expandFilePath(CLEMEXTNodeHandle node, const char *path, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:729
CLEMEXTStatus clemext_xmliterator_deleteCurrentItem(CLEMEXTXMLIteratorHandle iterator)
Definition: clemext.h:1184
int CLEMEXTErrorCode
Definition: clemext.h:75
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:1135
CLEMEXTStatus clemext_node_getFilePath(CLEMEXTNodeHandle node, const char *fileId, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:704
CLEMEXTStatus clemext_xml_disposeDocument(CLEMEXTXMLHandle doc)
Definition: clemext.h:953
void clemext_host_trace(CLEMEXTHostHandle host, const char *text)
Definition: clemext.h:902
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:798
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:757
CLEMEXTStatus clemext_node_getNodeInformation(CLEMEXTNodeHandle node, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:576
CLEMEXTStatus clemext_node_getPassword(CLEMEXTNodeHandle node, const char *passwordId, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:681
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:658
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:1103
CLEMEXTStatus clemext_host_getHostInformation(CLEMEXTHostHandle host, char *buffer, size_t buffer_size, size_t *data_size, CLEMEXTErrorCode *errorCode)
Definition: clemext.h:554
unsigned CLEMEXTStatus
Definition: clemext.h:42
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:1013
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:991
CLEMEXTStatus clemext_xmliterator_close(CLEMEXTXMLIteratorHandle iterator)
Definition: clemext.h:1198
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:1151
CLEMEXT_API CLEMEXTStatus clemext_peer_cancelExecution(CLEMEXTPeerHandle peer, CLEMEXTErrorCode *errorCode)