fix subscription server  bug introduced when porting to async, add support for event in server, reorganization

lots of changes. I should have tested more but there are so many changes it is better to merge otherwise it will be hard to merge
Sorry. Good classes do not grow. :)

2014-09-12 19:11 GMT+04:00 Alexander Rykovanov <rykovanov.as@gmail.com>:

> No. Good classes becomes do not frow. If class become big then it has too
> much responsibilities and has many bugs as show practice.
> I think we have wrong architecture in link subscriptions and address space.
>
> 2014-09-12 18:45 GMT+04:00 oroulet <notifications@github.com>:
>
>> In src/server/address_space_internal.h:
>>
>> > +        virtual std::vector<StatusCode> DeleteSubscriptions(const std::vector<IntegerID>& subscriptions);
>> > +        virtual SubscriptionData CreateSubscription(const CreateSubscriptionRequest& request, std::function<void (PublishResult)> callback);
>> > +        virtual MonitoredItemsData CreateMonitoredItems(const MonitoredItemsParameters& params);
>> > +        virtual std::vector<StatusCode> DeleteMonitoredItems(const DeleteMonitoredItemsParameters& params);
>> > +        virtual std::vector<AddNodesResult> AddNodes(const std::vector<AddNodesItem>& items);
>> > +        virtual std::vector<StatusCode> AddReferences(const std::vector<AddReferencesItem>& items);
>> > +        virtual std::vector<BrowsePathResult> TranslateBrowsePathsToNodeIds(const TranslateBrowsePathsParameters& params) const;
>> > +        virtual std::vector<ReferenceDescription> Browse(const OpcUa::NodesQuery& query) const;
>> > +        virtual std::vector<ReferenceDescription> BrowseNext() const;
>> > +        virtual std::vector<DataValue> Read(const ReadParameters& params) const;
>> > +        virtual std::vector<StatusCode> Write(const std::vector<OpcUa::WriteValue>& values);
>> > +        virtual void Publish(const PublishRequest& request);
>> > +
>> > +        //Server side methods
>> > +        void DeleteAllSubscriptions();
>> > +        boost::asio::io_service& GetIOService();
>>
>> In addition to being god practice, i expect the core classes to grow when
>> more features are added, thus anyway one days we will have to split the
>> headers out.
>>
>> —
>> Reply to this email directly or view it on GitHub
>> <https://github.com/FreeOpcUa/freeopcua/pull/46/files#r17482312>.
>>
>
>
>
> --
> Best regards,
> Alexander Rykovanov.
>
>


-- 
Best regards,
Alexander Rykovanov.