private TheOPCUAClient(TheMessageAddress owner, string serverAddress, OPCUAConnectParameters connectParameters) { ServerAddress = serverAddress; OwnerAddress = owner; ConnectParameters = new OPCUAConnectParameters(connectParameters); //OpcUAParameters = new OPCUACreationParameters(opcUAParameters); }
public OPCUAConnectParameters(OPCUAConnectParameters p) { if (p != null) { UserName = p.UserName; Password = p.Password; } }
public void Connect(OPCUAConnectParameters connectParams = null, Action <ICDEThing, object> callback = null, bool logEssentialOnly = false) { if (callback != null) { ConnectAsync(connectParams, logEssentialOnly).ContinueWith((t) => callback(null, t.Result)); } else { try { var taskIgnoreOutcome = ConnectAsync(connectParams, logEssentialOnly); } catch { } } }
public async Task <string> ConnectAsync(OPCUAConnectParameters connectParams = null, bool logEssentialOnly = false) { if (connectParams != null) { ConnectParameters = new OPCUAConnectParameters(connectParams); } if (ConnectParameters != null) { // TODO make this work for remote things as well var tThing = GetOpcThing(); TheThing.SetSafePropertyString(tThing, "UserName", ConnectParameters.UserName); TheThing.SetSafePropertyString(tThing, "Password", ConnectParameters.Password); } var response = await TheCommRequestResponse.PublishRequestJSonAsync <MsgOPCUAConnect, MsgOPCUAConnectResponse>(OwnerAddress, OpcThingAddress, new MsgOPCUAConnect { LogEssentialOnly = logEssentialOnly }); if (response == null) { return("Error sending connect message"); } return(response.Error); }
public static async Task <TheOPCUAClient> CreateAndInitAsync(TheMessageAddress owner, string serverAddress, OPCUAParameters opcUAParameters = null, OPCUAConnectParameters connectParameters = null, ThingCreationParameters thingCreationParameters = null) { var client = new TheOPCUAClient(owner, serverAddress, connectParameters); if (await client.Initialize(opcUAParameters, thingCreationParameters)) { return(client); } return(null); }