/home/travis/build/open62541/open62541/include/ua_client.h
Go to the documentation of this file.
00001 #ifndef UA_CLIENT_H_
00002 #define UA_CLIENT_H_
00003 
00004 #ifdef __cplusplus
00005 extern "C" {
00006 #endif
00007 
00008 #include "ua_util.h"
00009 #include "ua_types.h"
00010 #include "ua_connection.h"
00011 #include "ua_log.h"
00012 #include "ua_types_generated.h"
00013 
00014 struct UA_Client;
00015 typedef struct UA_Client UA_Client;
00016 
00021 typedef UA_Connection (*UA_ConnectClientConnection)(char *endpointUrl, UA_Logger *logger);
00022 
00023 typedef struct UA_ClientConfig {
00024     UA_Int32 timeout; //sync response timeout
00025     UA_ConnectionConfig localConnectionConfig;
00026 } UA_ClientConfig;
00027 
00028 extern UA_EXPORT const UA_ClientConfig UA_ClientConfig_standard;
00029 UA_Client UA_EXPORT * UA_Client_new(UA_ClientConfig config, UA_Logger logger);
00030 
00031 UA_EXPORT void UA_Client_delete(UA_Client* client);
00032 
00033 UA_StatusCode UA_EXPORT UA_Client_connect(UA_Client *client, UA_ConnectClientConnection connFunc, char *endpointUrl);
00034 UA_StatusCode UA_EXPORT UA_Client_disconnect(UA_Client *client);
00035 
00036 /* Attribute Service Set */
00037 UA_ReadResponse UA_EXPORT UA_Client_read(UA_Client *client, UA_ReadRequest *request);
00038 UA_WriteResponse UA_EXPORT UA_Client_write(UA_Client *client, UA_WriteRequest *request);
00039 
00040 /* View Service Set */    
00041 UA_BrowseResponse UA_EXPORT UA_Client_browse(UA_Client *client, UA_BrowseRequest *request);
00042 UA_BrowseNextResponse UA_EXPORT UA_Client_browseNext(UA_Client *client, UA_BrowseNextRequest *request);
00043 UA_TranslateBrowsePathsToNodeIdsResponse UA_EXPORT
00044     UA_Client_translateTranslateBrowsePathsToNodeIds(UA_Client *client,
00045                                                      UA_TranslateBrowsePathsToNodeIdsRequest *request);
00046 
00047 /* NodeManagement Service Set */
00048 UA_AddNodesResponse UA_EXPORT UA_Client_addNodes(UA_Client *client, UA_AddNodesRequest *request);
00049 UA_AddReferencesResponse UA_EXPORT
00050     UA_Client_addReferences(UA_Client *client, UA_AddReferencesRequest *request);
00051 
00052 UA_DeleteNodesResponse UA_EXPORT UA_Client_deleteNodes(UA_Client *client, UA_DeleteNodesRequest *request);
00053 UA_DeleteReferencesResponse UA_EXPORT
00054     UA_Client_deleteReferences(UA_Client *client, UA_DeleteReferencesRequest *request);
00055     
00056 #ifdef __cplusplus
00057 } // extern "C"
00058 #endif
00059 
00060 #endif /* UA_CLIENT_H_ */