Add support for config file parsing and watching
This change introduces the ability to load and parse
the json xapp descriptor (config) file. It also provides
the ability for the xAPP to register a callback function
which is executed when the descriptor is changed.
Issue-ID: RIC-428
Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Change-Id: I7a1147aa8055599ef4b36ab17960e32ccb5b741f
diff --git a/src/config/config_cb.cpp b/src/config/config_cb.cpp
new file mode 100644
index 0000000..309ddba
--- /dev/null
+++ b/src/config/config_cb.cpp
@@ -0,0 +1,62 @@
+
+// vi: ts=4 sw=4 noet:
+/*
+==================================================================================
+ Copyright (c) 2020 Nokia
+ Copyright (c) 2020 AT&T Intellectual Property.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================================
+*/
+
+/*
+ Mnemonic: notify_cb.cpp
+ Abstract: Notification drivers.
+
+ Date: 27 July 2020
+ Author: E. Scott Daniels
+*/
+
+//#include <cstdlib>
+
+#include "config.hpp"
+#include "config_cb.hpp"
+
+namespace xapp {
+
+/*
+ Builder.
+*/
+Config_cb::Config_cb( notify_callback ufun, void* udata ) :
+ user_fun( ufun ),
+ udata( udata )
+{ /* empty body */ }
+
+
+/*
+ there is nothing to be done from a destruction perspective, so no
+ destruction function needed at the moment.
+*/
+
+/*
+ Drive_cb will invoke the callback and pass along the stuff passed here.
+*/
+void xapp::Config_cb::Drive_cb( xapp::Config& c, void* udata ) {
+ if( user_fun != NULL ) {
+ user_fun( c, udata );
+ }
+}
+
+
+
+} // namespace