|
ESP SDK C API
|
00001 #ifndef __ESP_PUBLISHER_H 00002 #define __ESP_PUBLISHER_H 00003 00004 #include <sdk/esp_types.h> 00005 #include <sdk/esp_stream.h> 00006 00007 #ifdef __cplusplus 00008 extern "C" { 00009 #endif 00010 00022 #define ESP_PUBLISHER_EVENT_CONNECTED 0x05000002 00023 #define ESP_PUBLISHER_EVENT_DISCONNECTED 0x05000004 00024 #define ESP_PUBLISHER_EVENT_CLOSED 0x05000008 00025 #define ESP_PUBLISHER_EVENT_READY 0x0500000A 00026 #define ESP_PUBLISHER_EVENT_ERROR 0x05000010 00027 #define ESP_PUBLISHER_EVENT_ALL 0x050000FF 00036 ESPAPICALL EspPublisher * esp_publisher_create( 00037 const EspUri * uri, 00038 const EspCredentials * credentials, 00039 const EspPublisherOptions * options, 00040 EspError * error); 00041 00047 ESPAPICALL int32_t esp_publisher_free( 00048 EspPublisher * publisher, 00049 EspError * error); 00050 00056 ESPAPICALL EspProject * esp_publisher_get_project( 00057 EspPublisher * publisher, 00058 EspError * error); 00059 00067 ESPAPICALL int32_t esp_publisher_connect( 00068 EspPublisher * publisher, 00069 EspError * error); 00070 00076 ESPAPICALL int32_t esp_publisher_set_callback( 00077 EspPublisher * publisher, 00078 uint32_t events, 00079 PUBLISHER_CALLBACK_T callback, 00080 void * user_data, 00081 EspError * error); 00082 00088 ESPAPICALL int32_t esp_publisher_select_with( 00089 EspPublisher * publisher, 00090 EspSelector * selector, 00091 uint32_t events, 00092 EspError * error); 00093 00101 ESPAPICALL int32_t esp_publisher_disconnect( 00102 EspPublisher * publisher, 00103 EspError * error); 00104 00112 ESPAPICALL int32_t esp_publisher_close( 00113 EspPublisher * publisher, 00114 EspError * error); 00115 00122 ESPAPICALL EspMessageWriter * esp_publisher_get_writer( 00123 EspPublisher * publisher, 00124 const EspStream * stream, 00125 EspError * error); 00126 00132 ESPAPICALL int32_t esp_publisher_publish( 00133 EspPublisher * publisher, 00134 EspMessageWriter * writer, 00135 EspError * error); 00136 00143 ESPAPICALL int32_t esp_publisher_commit( 00144 EspPublisher * publisher, 00145 EspError * error); 00146 00147 00159 typedef enum 00160 { 00163 NO_BLOCKING = 0, 00169 EXPLICIT_BLOCKING, 00175 AUTO_BLOCKING 00176 } 00177 ESP_BLOCKING_MODE_T; 00178 00182 ESPAPICALL EspPublisherOptions * esp_publisher_options_create( 00183 EspError * error); 00184 00188 ESPAPICALL int32_t esp_publisher_options_free( 00189 EspPublisherOptions * options, 00190 EspError * error); 00191 00198 ESPAPICALL int32_t esp_publisher_options_set_access_mode( 00199 EspPublisherOptions * options, 00200 const ESP_ACCESS_MODE_T mode, 00201 EspError * error); 00208 ESPAPICALL int32_t esp_publisher_options_set_blockmode( 00209 EspPublisherOptions * options, 00210 const ESP_BLOCKING_MODE_T mode, 00211 EspError * error); 00212 00223 ESPAPICALL int32_t esp_publisher_options_set_buffersize( 00224 EspPublisherOptions * options, 00225 const uint32_t size, 00226 EspError * error); 00227 00232 ESPAPICALL int32_t esp_publisher_options_set_exit_on_close( 00233 EspPublisherOptions * options, 00234 const int32_t close, 00235 EspError * error); 00236 00242 ESPAPICALL int32_t esp_publisher_options_set_exit_on_timeout( 00243 EspPublisherOptions * options, 00244 const int32_t timeout, 00245 EspError * error); 00246 00252 ESPAPICALL int32_t esp_publisher_options_set_timeout_finalizer( 00253 EspPublisherOptions * options, 00254 const int32_t timeout, 00255 const char * finalizer, 00256 EspError * error); 00257 00271 ESPAPICALL int32_t esp_publisher_options_set_async( 00272 EspPublisherOptions * options, 00273 const int32_t async, 00274 EspError * error); 00275 00280 ESPAPICALL int32_t esp_publisher_options_set_dispatcher( 00281 EspPublisherOptions * options, 00282 const EspDispatcher * dispatcher, 00283 EspError * error); 00284 00289 ESPAPICALL int32_t esp_publisher_options_set_updater( 00290 EspPublisherOptions * options, 00291 const EspUpdater * updater, 00292 EspError * error); 00293 00308 ESPAPICALL uint32_t esp_publisher_event_get_type( 00309 const EspPublisherEvent * event, 00310 uint32_t * type, 00311 EspError * error); 00312 00318 ESPAPICALL EspPublisher * esp_publisher_event_get_publisher( 00319 const EspPublisherEvent * event, 00320 EspError * error); 00321 00327 ESPAPICALL EspError * esp_publisher_event_get_error( 00328 const EspPublisherEvent * event, 00329 EspError * error); 00330 00343 ESPAPICALL int32_t esp_message_writer_start_transaction( 00344 EspMessageWriter * writer, 00345 const uint32_t numoptions, 00346 EspError * error); 00347 00353 ESPAPICALL int32_t esp_message_writer_start_envelope( 00354 EspMessageWriter * writer, 00355 const uint32_t numoptions, 00356 EspError * error); 00357 00364 ESPAPICALL int32_t esp_message_writer_end_block( 00365 EspMessageWriter * writer, 00366 EspError * error); 00367 00374 ESPAPICALL EspRelativeRowWriter * esp_message_writer_get_relative_rowwriter( 00375 EspMessageWriter * writer, 00376 EspError * error); 00377 00383 ESPAPICALL const EspStream * esp_message_writer_get_stream( 00384 EspMessageWriter * writer, 00385 EspError * error); 00386 00387 00393 ESPAPICALL int32_t esp_relative_rowwriter_start_row( 00394 EspRelativeRowWriter * writer, 00395 EspError * error); 00396 00404 ESPAPICALL int32_t esp_relative_rowwriter_end_row( 00405 EspRelativeRowWriter * writer, 00406 EspError * error); 00407 00413 ESPAPICALL int32_t esp_relative_rowwriter_set_operation( 00414 EspRelativeRowWriter * writer, 00415 const ESP_OPERATION_T opcode, 00416 EspError * error); 00417 00423 ESPAPICALL int32_t esp_relative_rowwriter_set_null( 00424 EspRelativeRowWriter * writer, 00425 EspError * error); 00426 00431 ESPAPICALL int32_t esp_relative_rowwriter_set_shinethrough( 00432 EspRelativeRowWriter * writer, 00433 EspError * error); 00434 00439 ESPAPICALL int32_t esp_relative_rowwriter_set_integer( 00440 EspRelativeRowWriter * writer, 00441 const int32_t int_value, 00442 EspError * error); 00443 00448 ESPAPICALL int32_t esp_relative_rowwriter_set_long( 00449 EspRelativeRowWriter * writer, 00450 const int64_t long_value, 00451 EspError * error); 00452 00457 ESPAPICALL int32_t esp_relative_rowwriter_set_float( 00458 EspRelativeRowWriter * writer, 00459 const double double_value, 00460 EspError * error); 00461 00466 ESPAPICALL int32_t esp_relative_rowwriter_set_string( 00467 EspRelativeRowWriter * writer, 00468 const char * string_value, 00469 EspError * error); 00470 00475 ESPAPICALL int32_t esp_relative_rowwriter_set_date( 00476 EspRelativeRowWriter * writer, 00477 const int64_t date_value, 00478 EspError * error); 00479 00484 ESPAPICALL int32_t esp_relative_rowwriter_set_timestamp( 00485 EspRelativeRowWriter * writer, 00486 const int64_t data_value, 00487 EspError * error); 00488 00493 ESPAPICALL int32_t esp_relative_rowwriter_set_money( 00494 EspRelativeRowWriter * writer, 00495 const EspMoney * money_value, 00496 EspError * error); 00497 00502 ESPAPICALL int32_t esp_relative_rowwriter_set_legacy_money( 00503 EspRelativeRowWriter * writer, 00504 const EspMoney * money_value, 00505 EspError * error); 00506 00511 ESPAPICALL int32_t esp_relative_rowwriter_set_money_as_long( 00512 EspRelativeRowWriter * writer, 00513 const int64_t long_value, 00514 EspError * error); 00515 00520 ESPAPICALL int32_t esp_relative_rowwriter_set_bigdatetime( 00521 EspRelativeRowWriter * writer, 00522 const EspBigDatetime * bigdatetime_value, 00523 EspError * error); 00524 00529 ESPAPICALL int32_t esp_relative_rowwriter_set_binary( 00530 EspRelativeRowWriter * writer, 00531 const void * binary_value, 00532 const uint32_t size, 00533 EspError * error); 00534 00539 ESPAPICALL int32_t esp_relative_rowwriter_set_boolean( 00540 EspRelativeRowWriter * writer, 00541 const int32_t boolean_value, 00542 EspError * error); 00543 00548 ESPAPICALL int32_t esp_relative_rowwriter_set_interval( 00549 EspRelativeRowWriter * writer, 00550 const int64_t interval_value, 00551 EspError * error); 00552 00553 00558 #ifdef __cplusplus 00559 } 00560 #endif 00561 00562 #endif /* __ESP_PUBLISHER_H */
1.7.5