Browse Source

make client work

Julius Pfrommer 10 years ago
parent
commit
2f1c39e068
3 changed files with 11 additions and 15 deletions
  1. 5 5
      examples/networklayer_tcp.c
  2. 0 2
      include/ua_client.h
  3. 6 8
      src/client/ua_client.c

+ 5 - 5
examples/networklayer_tcp.c

@@ -385,7 +385,7 @@ static void ServerNetworkLayerTCP_delete(ServerNetworkLayerTCP *layer) {
 }
 
 UA_ServerNetworkLayer ServerNetworkLayerTCP_new(UA_ConnectionConfig conf, UA_UInt32 port) {
-    NetworkLayerTCP *tcplayer = malloc(sizeof(NetworkLayerTCP));
+    ServerNetworkLayerTCP *tcplayer = malloc(sizeof(ServerNetworkLayerTCP));
 	tcplayer->conf = conf;
 	tcplayer->conLinksSize = 0;
 	tcplayer->conLinks = NULL;
@@ -394,10 +394,10 @@ UA_ServerNetworkLayer ServerNetworkLayerTCP_new(UA_ConnectionConfig conf, UA_UIn
 
     UA_ServerNetworkLayer nl;
     nl.nlHandle = tcplayer;
-    nl.start = (UA_StatusCode (*)(void*))NetworkLayerTCP_start;
-    nl.getWork = (UA_Int32 (*)(void*, UA_WorkItem**, UA_UInt16)) NetworkLayerTCP_getWork;
-    nl.stop = (UA_Int32 (*)(void*, UA_WorkItem**)) NetworkLayerTCP_stop;
-    nl.free = (void (*)(void*))NetworkLayerTCP_delete;
+    nl.start = (UA_StatusCode (*)(void*))ServerNetworkLayerTCP_start;
+    nl.getWork = (UA_Int32 (*)(void*, UA_WorkItem**, UA_UInt16))ServerNetworkLayerTCP_getWork;
+    nl.stop = (UA_Int32 (*)(void*, UA_WorkItem**))ServerNetworkLayerTCP_stop;
+    nl.free = (void (*)(void*))ServerNetworkLayerTCP_delete;
     return nl;
 }
 

+ 0 - 2
include/ua_client.h

@@ -1,8 +1,6 @@
 #include "ua_util.h"
 #include "ua_types.h"
 #include "ua_connection.h"
-#include "ua_transport_generated.h"
-#include "ua_namespace_0.h"
 
 /**
  * The client networklayer can handle only a single connection. The networklayer

+ 6 - 8
src/client/ua_client.c

@@ -1,5 +1,6 @@
 #include "ua_client.h"
-#include "ua_connection.h"
+#include "ua_types_encoding_binary.h"
+#include "ua_transport_generated.h"
 
 struct UA_Client {
     UA_ClientNetworkLayer networkLayer;
@@ -39,7 +40,6 @@ UA_StatusCode UA_Client_connect(UA_Client *c, UA_ConnectionConfig conf, UA_Clien
         return retval;
 
     HelAckHandshake(c);
-    // hello
     // securechannel
     // session
     
@@ -53,8 +53,7 @@ UA_StatusCode UA_EXPORT UA_Client_disconnect(UA_Client *c) {
 // The tcp connection is established. Now do the handshake
 static UA_StatusCode HelAckHandshake(UA_Client *c) {
 	UA_TcpMessageHeader messageHeader;
-	messageHeader.isFinal = 'F';
-	messageHeader.messageType = UA_MESSAGETYPE_HEL;
+    messageHeader.messageTypeAndFinal = UA_MESSAGETYPEANDFINAL_HELF;
 
 	UA_TcpHelloMessage hello;
 	UA_String_copy(&c->endpointUrl, &hello.endpointUrl);
@@ -72,7 +71,7 @@ static UA_StatusCode HelAckHandshake(UA_Client *c) {
     message.data = UA_alloca(messageHeader.messageSize);
     message.length = messageHeader.messageSize;
 
-	UA_UInt32 offset = 0;
+	size_t offset = 0;
 	UA_TcpMessageHeader_encodeBinary(&messageHeader, &message, &offset);
 	UA_TcpHelloMessage_encodeBinary(&hello, &message, &offset);
 
@@ -107,8 +106,7 @@ static UA_StatusCode HelAckHandshake(UA_Client *c) {
 
 static UA_StatusCode SecureChannelHandshake(UA_Client *c) {
     UA_SecureConversationMessageHeader msghdr;
-	msghdr.messageHeader.messageType = UA_MESSAGETYPE_OPN;
-	msghdr.messageHeader.isFinal = 'F';
+    msghdr.messageHeader.messageTypeAndFinal = UA_MESSAGETYPEANDFINAL_OPNF;
     msghdr.secureChannelId = 0;
 
     UA_AsymmetricAlgorithmSecurityHeader asymHeader;
@@ -143,7 +141,7 @@ static UA_StatusCode SecureChannelHandshake(UA_Client *c) {
 
 	UA_ByteString message;
 	UA_ByteString_newMembers(&message, msghdr.messageHeader.messageSize);
-	UA_UInt32 offset = 0;
+	size_t offset = 0;
     UA_SecureConversationMessageHeader_encodeBinary(&msghdr, &message, &offset);
     UA_AsymmetricAlgorithmSecurityHeader_encodeBinary(&asymHeader, &message, &offset);
     UA_SequenceHeader_encodeBinary(&seqHeader, &message, &offset);