Unified opcua servers creation with using addons.

I just tested now and everythin seems to work. I got one time a hang in
test_highlevel.py but this has happend ealier. there is a problem
somewhere, I do not know where but it is not new.
Should we merge all your changes to master?

btw you have some debug stuff that print even when debug=false:
Initializing addon 'server_object'
Addon 'server_object' successfully initialized.
Creating addon 'subscriptions'
Initializing addon 'subscriptions'
Addon 'subscriptions' successfully initialized.
Creating addon 'opc_tcp_async'
Initializing addon 'opc_tcp_async'
Found group : application
Parsing app paramter discovery_profile
Parsing app paramter uriFreeOpcua
Parsing app paramter gateway_server_uri
Parsing app paramter product_urifreeopcua.github.io
Parsing app paramter nameOpen Source OPC-UA Server
Parsing app paramter typeserver
parsing group endpoint
Param is: security_level0
Param is: security_modenone
Param is: security_policy_urihttp://opcfoundation.org/UA/SecurityPolicy#None
Param is: transport_profile_urihttp://
opcfoundation.org/UA-Profile/Transport/uatcp-uasc-uabinary
Param is: urlopc.tcp://localhost:48430
opc_tcp_async| Running server.
opc_tcp_async| Waiting for client connection at: 0.0.0.0:48430
Addon 'opc_tcp_async' successfully initialized.


On 19 October 2014 14:06, Alexander Rykovanov <notifications@github.com>
wrote:

> In src/server/address_space_internal.h:
>
> > @@ -93,8 +93,15 @@ namespace OpcUa
> >          virtual std::vector<StatusCode> Write(const std::vector<OpcUa::WriteValue>& values);
> >
> >          //Server side methods
> > -        uint32_t AddDataChangeCallback(const NodeID& node, AttributeID attribute, const IntegerID& clienthandle, std::function<void(IntegerID, DataValue)> callback);
>
> monitored Item ID is captured in lambda. And is later used in
> subscription. 2014-10-19 15:42 GMT+04:00 oroulet <notifications@github.com
> >:
> … <#149284d1e3c8f3ed_>
>  In src/server/address_space_internal.h: > @@ -93,8 +93,15 @@ namespace
> OpcUa > virtual std::vector<StatusCode> Write(const
> std::vector<OpcUa::WriteValue>& values); > > //Server side methods > -
> uint32_t AddDataChangeCallback(const NodeID& node, AttributeID attribute,
> const IntegerID& clienthandle, std::function<void(IntegerID, DataValue)>
> callback); I think we may bet into trouble with that change. If a
> subcsription is asked to create several monitoreditems for for the same
> node and attributed, it has now no way to know which one it is gettings
> callback call for, If then there is a request to delete a monitoreditem the
> client will have to make sure that no other monitoreditems is also using
> this callback ..... it looks like it works now but I do not know why ... —
> Reply to this email directly or view it on GitHub <
> https://github.com/FreeOpcUa/freeopcua/pull/62/files#r19059683>.
>  -- Best regards, Alexander Rykovanov.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/FreeOpcUa/freeopcua/pull/62/files#r19059784>.
>