You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Create IS-12 websocket server
* Remove incorrect comment
* Add `control_protocol_ws_port` to node example config
* Use lock to protect websockets
* Fix to obtain the event_ws position from the ws_handlers
* Create Root block, Device manager and Class manager nmos resources
* Add readonly on Get propertry support.
Add callback to retrieve control classes from control_protocol_state
* Fix declaration of nmos::experimental::control_classes for Linux
* Move functions around
* Update IS-12 schemas
* Tidy up make_nc_class_manager
* Add NcObject's GetSequenceItem
* Fix GetSequenceItem and add GetSequenceLength
* Code tidy up
* Add SetSequenceItem, AddSequenceItem, RemoveSequenceItem, FindMembersByPath
* Fix AddSequenceItem
* Fix FindMembersByPath
* Add FindMembersByRole and FindMembersByClassId
* Add GetControlClass, and GetDataType
* Bump up ubuntu 14.04 to use python 3.7 to overcome
ERROR: module 'asyncio' has no attribute 'get_running_loop' and
CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team
* Fix ModuleNotFoundError: No module named '_ctypes'
* Fixing python3.7 install
* Bump up to python3.8
* Add NcIdentBeacon, NcReceiverMonitor and NcReceiverMonitorProtected
* Use control_protocol_ws_port to construct request URLs for the Control Protocol websocket, or negative to disable the control protocol features
* Remove unused code
* Fix find_members_by_path and write log on method
* Remove un-used code
* Add Log gate to method
* Move nc_class_id definition from control_protocol_resource to control_protocol_utils
* Add nested block examples
* Extract IS-12 version from the rx ws path
* Add helper functions to create non-standard control class, and general tidy up
* Use of nc_class_id struct and method_id struct for map key
* Remove un-used code
* Add support for allowing user to insert non-standard control class method handler
* Fix 'nmos::experimental::control_class' constructor initialization
* Fix indentation
* Use better error instead of `out of bounds`
* Add non-standard Example class based on nmos-device-control-mock
* Update log messages
* Fix is_nc_block()
* Tidy-up function signatures
* Add subscription support
* Update outdated IS-12 links
* Tidy up, less casting
* Add description to nc_object to simplify create nc_xxx class
* Move nc helper functions to nc utils
* look before accessing control_protocol_state
* pusback allows on NcBlock only
* Add control protocol unit tests
* Add more unit tests
* Add NcPropertyConstraintsNumber, NcPropertyConstraintsString, NcParameterConstraintsNumber, NcParameterConstraintsString datatypes
* Tidy up make_nc_class_descriptor
* Fix to handle empty NCP URL path
* Code fix to construct nc_property_changed_event_data, thanks for @maweit reviewing
* Insert root block resource to the model will also inserting all its nested control protocol resources to the model as suggested by @maweit
* Add IS-12 to Readme
* Add tounchpoint support and link Receiver-Monitor with IS-04/IS-05 Receiver
* Add new headers to makefile
* Set IS-12 nmos resource with relevant nmos::type
* Clean up on how to construct propertry changed event
* Add constraints support, see https://specs.amwa.tv/ms-05-02/branches/v1.0.x/docs/Constraints.html
* Update comments
* typo
* Add primitive types
* Add a simple temperature sensor example, which pumps out new temperature value in a time interval
* Fix non-standard class's method handing
* Remove un-used code and fix typo
* Test readonly on set_sequence_item and add_sequence_item
* Enhance level 0 datatype constraints validation
* Return property_deprecated(298) if property is marked as deprecated
* Code tidy-up
* Enhance non-standard example control method handlers, add level 2 and level 0 constraints implementation to example control
* Prevent comparsion warning
* Reject Set on non-sequence value to sequence property
* Fix runtime and property sequence constraints validation
* Add method parameters constriants validation, and check method deprecation
* Add comments
* No arguments object to those methods which do not require any arguments
* Add deprecated property and deprecated method to Example Control Class
* Add logging for contraints validation
* Add property changed callback to perform application-specific operations to complete the property changed
* Add authorization support to IS-12
* Prevent warning C26800
* Add ncp authorization field to IS-04 controls array of an NMOS Device
* Update comments
* Return parameter_error (417) instead of bad_oid (404) in event of bad role while doing find_members_by_path
* Add non-standard class method with the necessary parameters
* Update node config JSON to include is12_versions
* Apply suggestions from code review
Co-authored-by: jonathan-r-thorpe <[email protected]>
* Update Development/nmos-cpp-node/node_implementation.cpp
Co-authored-by: jonathan-r-thorpe <[email protected]>
* Remove commented out code
* Update comments
* Added Receiver Monitor Protected and Ident Beacon workers to control_protocol_resources
* Apply suggestions from code review
Co-authored-by: jonathan-r-thorpe <[email protected]>
* Typo
* Fix example_control to use the number within the level 2 runtime constraints
* Add nc_ident_beacon resource type
* Tidy up receiver_monitor, receiver_monitor_protected and ident_beacon resources
* Update Development/nmos/control_protocol_ws_api.cpp
Co-authored-by: jonathan-r-thorpe <[email protected]>
* Update Development/nmos/json_fields.h
Co-authored-by: jonathan-r-thorpe <[email protected]>
* Change varaible names and function names for better description
* Update IS-12 Readme
* Update IS-12 Readme
* Update Development/nmos/control_protocol_handlers.h
Co-authored-by: jonathan-r-thorpe <[email protected]>
---------
Co-authored-by: jonathan-r-thorpe <[email protected]>
Co-authored-by: Jonathan Thorpe (Sony) <[email protected]>
Copy file name to clipboardExpand all lines: Development/nmos-cpp-node/config.json
+19Lines changed: 19 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -104,6 +104,9 @@
104
104
// is10_versions [registry, node]: used to specify the enabled API versions for a version-locked configuration
105
105
//"is10_versions": ["v1.0"],
106
106
107
+
// is12_versions [node]: used to specify the enabled API versions for a version-locked configuration
108
+
//"is12_versions": ["v1.0"],
109
+
107
110
// pri [registry, node]: used for the 'pri' TXT record; specifying nmos::service_priorities::no_priority (maximum value) disables advertisement completely
108
111
//"pri": 100,
109
112
@@ -144,6 +147,8 @@
144
147
//"channelmapping_port": 3215,
145
148
// system_port [node]: used to construct request URLs for the System API (if not discovered via DNS-SD)
146
149
//"system_port": 10641,
150
+
// control_protocol_ws_port [node]: used to construct request URLs for the Control Protocol websocket, or negative to disable the control protocol features
151
+
//"control_protocol_ws_port": 3218,
147
152
148
153
// listen_backlog [registry, node]: the maximum length of the queue of pending connections, or zero for the implementation default (the implementation may not honour this value)
149
154
//"listen_backlog": 0,
@@ -364,5 +369,19 @@
364
369
// If the Resource Server fails to verify a token using all public keys available it MUST reject the token."
365
370
//"service_unavailable_retry_after": 5,
366
371
372
+
// manufacturer_name [node]: the manufacturer name of the NcDeviceManager used for NMOS Control Protocol
373
+
// See https://specs.amwa.tv/ms-05-02/branches/v1.0.x/docs/Framework.html#ncdevicemanager
374
+
//"manufacturer_name": "",
375
+
376
+
// product_name/product_key/product_revision_level [node]: the product description of the NcDeviceManager used for NMOS Control Protocol
377
+
// See https://specs.amwa.tv/ms-05-02/branches/v1.0.x/docs/Framework.html#ncproduct
378
+
//"product_name": "",
379
+
//"product_key": "",
380
+
//"product_revision_level": "",
381
+
382
+
// serial_number [node]: the serial number of the NcDeviceManager used for NMOS Control Protocol
383
+
// See https://specs.amwa.tv/ms-05-02/branches/v1.0.x/docs/Framework.html#ncdevicemanager
Copy file name to clipboardExpand all lines: Development/nmos-cpp-node/main.cpp
+12-1Lines changed: 12 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -18,6 +18,8 @@
18
18
#include"nmos/server_utils.h"// for make_http_listener_config
19
19
#include"node_implementation.h"
20
20
21
+
#include"nmos/control_protocol_state.h"
22
+
21
23
intmain(int argc, char* argv[])
22
24
{
23
25
// Construct our data models including mutexes to protect them
@@ -137,13 +139,22 @@ int main(int argc, char* argv[])
137
139
.on_request_authorization_code(nmos::experimental::make_request_authorization_code_handler(gate)); // may be omitted, only required for OAuth client which is using the Authorization Code Flow to obtain the access token
0 commit comments