Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add partial support for filters, theoretical event support, more work on subscription interface #9

Merged
merged 11 commits into from
Aug 2, 2014

Conversation

oroulet
Copy link
Member

@oroulet oroulet commented Jul 30, 2014

far too many things in this commit, unfortunately I cannot finish the work without async support, so I think it is better to merge as-is so we avoid big merge effort later
The event api might also have to be changed later, it is far from perfect.
I checked that everything compiles and tests work

@@ -12,6 +12,7 @@

#include <opc/ua/view.h>
#include <opc/ua/attributes.h>
#include <opc/ua/event.h>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is this file placed?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I obviously forgot to check in those files... I was sure I did....
Fixed

On 1 August 2014 20:57, Alexander Rykovanov notifications@github.com
wrote:

In include/opc/ua/server/address_space.h:

@@ -12,6 +12,7 @@

#include <opc/ua/view.h>
#include <opc/ua/attributes.h>
+#include <opc/ua/event.h>

Where is this file placed?


Reply to this email directly or view it on GitHub
https://github.com/FreeOpcUa/freeopcua/pull/9/files#r15712858.



public: // Server internal methods
virtual void TriggerEvent(NodeID node, Event event);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this method for? Who will generate events?
I thought this is a part of functionality of address space. When data or structure is changed then address space sends notifications. Am I wrong?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, you are wrong :-). Events notification are too be generated by user
with api.
DataChange notification are generated by address space
So this method must be part of api and only on server side.
On Aug 1, 2014 11:40 PM, "Alexander Rykovanov" notifications@github.com
wrote:

In src/server/address_space_addon.h:

@@ -59,6 +60,11 @@ namespace OpcUa

 public: // MonitoredItemsServices
   virtual MonitoredItemsData CreateMonitoredItems(const MonitoredItemsParameters& parameters);
  •  virtual std::vector<StatusCode> DeleteMonitoredItems(const DeleteMonitoredItemsParameters params);
    
  • public: // Server internal methods
  •  virtual void TriggerEvent(NodeID node, Event event);
    

What is this method for? Who will genegate events?
I thought this is a part of functionality of addresspace. When data or
structure is changed then address space sends notifications. Am I wrong?


Reply to this email directly or view it on GitHub
https://github.com/FreeOpcUa/freeopcua/pull/9/files#r15720626.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This allow custom events to be send from a node (but only Server node in
implementation I have seen )
On Aug 2, 2014 7:43 AM, "Olivier Roulet-Dubonnet" olivier.roulet@gmail.com
wrote:

Yes, you are wrong :-). Events notification are too be generated by user
with api.
DataChange notification are generated by address space
So this method must be part of api and only on server side.
On Aug 1, 2014 11:40 PM, "Alexander Rykovanov" notifications@github.com
wrote:

In src/server/address_space_addon.h:

@@ -59,6 +60,11 @@ namespace OpcUa

 public: // MonitoredItemsServices
   virtual MonitoredItemsData CreateMonitoredItems(const MonitoredItemsParameters& parameters);
  •  virtual std::vector<StatusCode> DeleteMonitoredItems(const DeleteMonitoredItemsParameters params);
    
  • public: // Server internal methods
  •  virtual void TriggerEvent(NodeID node, Event event);
    

What is this method for? Who will genegate events?
I thought this is a part of functionality of addresspace. When data or
structure is changed then address space sends notifications. Am I wrong?


Reply to this email directly or view it on GitHub
https://github.com/FreeOpcUa/freeopcua/pull/9/files#r15720626.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I this we will need extract subscriptions into a separate component, I think. And has big part of it own functionality...
It becomes too large.
ok. )

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, i thought about it, but for today we have higher priorities...

arykovanov added a commit that referenced this pull request Aug 2, 2014
add partial support for filters, theoretical event support, more work on subscription interface
@arykovanov arykovanov merged commit 4de3c98 into FreeOpcUa:master Aug 2, 2014
oroulet pushed a commit to oroulet/freeopcua that referenced this pull request Nov 9, 2014
add subscription test, fix some other tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants