Repository: celix
Updated Branches:
  refs/heads/develop 96cd7e023 -> 857e8129f


Reverst getPusSubTopicInfo logic (scopes are optional attribute for pubsub 
filters). Updates the add_celix_container CMake commands so that the exe name 
is equal to the container name.


Project: http://git-wip-us.apache.org/repos/asf/celix/repo
Commit: http://git-wip-us.apache.org/repos/asf/celix/commit/857e8129
Tree: http://git-wip-us.apache.org/repos/asf/celix/tree/857e8129
Diff: http://git-wip-us.apache.org/repos/asf/celix/diff/857e8129

Branch: refs/heads/develop
Commit: 857e8129f1579eacd40285db698980a8affde75b
Parents: 96cd7e0
Author: Pepijn Noltes <[email protected]>
Authored: Thu Mar 22 09:16:47 2018 +0100
Committer: Pepijn Noltes <[email protected]>
Committed: Thu Mar 22 09:16:47 2018 +0100

----------------------------------------------------------------------
 cmake/cmake_celix/DeployPackaging.cmake  | 1 +
 pubsub/pubsub_spi/include/pubsub_utils.h | 8 ++++++++
 pubsub/pubsub_spi/src/pubsub_utils.c     | 9 +++++++--
 3 files changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/celix/blob/857e8129/cmake/cmake_celix/DeployPackaging.cmake
----------------------------------------------------------------------
diff --git a/cmake/cmake_celix/DeployPackaging.cmake 
b/cmake/cmake_celix/DeployPackaging.cmake
index be996df..ab49c1f 100644
--- a/cmake/cmake_celix/DeployPackaging.cmake
+++ b/cmake/cmake_celix/DeployPackaging.cmake
@@ -106,6 +106,7 @@ 
$<JOIN:$<TARGET_PROPERTY:${CONTAINER_TARGET},CONTAINER_EMBEDDED_PROPERTIES>,\\n\
     if (LAUNCHER_SRC) #compilation needed
         add_executable(${CONTAINER_TARGET} ${LAUNCHER_SRC})
         set_target_properties(${CONTAINER_TARGET} PROPERTIES 
RUNTIME_OUTPUT_DIRECTORY ${CONTAINER_LOC})
+       set_target_properties(${CONTAINER_TARGET} PROPERTIES OUTPUT_NAME 
${CONTAINER_NAME})
         target_link_libraries(${CONTAINER_TARGET} PRIVATE Celix::framework)
         set(LAUNCHER "$<TARGET_FILE:${CONTAINER_TARGET}>")
     else ()

http://git-wip-us.apache.org/repos/asf/celix/blob/857e8129/pubsub/pubsub_spi/include/pubsub_utils.h
----------------------------------------------------------------------
diff --git a/pubsub/pubsub_spi/include/pubsub_utils.h 
b/pubsub/pubsub_spi/include/pubsub_utils.h
index 96d20a4..1c92a9b 100644
--- a/pubsub/pubsub_spi/include/pubsub_utils.h
+++ b/pubsub/pubsub_spi/include/pubsub_utils.h
@@ -30,7 +30,15 @@
 #include "bundle_context.h"
 #include "array_list.h"
 
+/**
+ * Returns the pubsub info from the provided filter. A pubsub filter should 
have a topic and can 
+ * have a scope. If no topic is present the topic and scope output will be 
NULL.
+ * If a topic is present the topic output will contain a allocated topic 
string and if a scope was
+ * present a allocated scope string.
+ * The caller is owner of the topic and scope output string.
+ */
 celix_status_t pubsub_getPubSubInfoFromFilter(const char* filterstr, char 
**topic, char **scope);
+
 char* pubsub_getKeysBundleDir(bundle_context_pt ctx);
 
 

http://git-wip-us.apache.org/repos/asf/celix/blob/857e8129/pubsub/pubsub_spi/src/pubsub_utils.c
----------------------------------------------------------------------
diff --git a/pubsub/pubsub_spi/src/pubsub_utils.c 
b/pubsub/pubsub_spi/src/pubsub_utils.c
index 5050077..55185d9 100644
--- a/pubsub/pubsub_spi/src/pubsub_utils.c
+++ b/pubsub/pubsub_spi/src/pubsub_utils.c
@@ -69,9 +69,14 @@ celix_status_t pubsub_getPubSubInfoFromFilter(const char* 
filterstr, char **topi
                }
        }
 
-       if (topic != NULL && scope != NULL && objectClass != NULL && 
strncmp(objectClass, PUBSUB_PUBLISHER_SERVICE_NAME, 128) == 0) {
+       if (topic != NULL && objectClass != NULL && strncmp(objectClass, 
PUBSUB_PUBLISHER_SERVICE_NAME, 128) == 0) {
+               //NOTE topic must be present, scope can be present in the 
filter.
                *topicOut = strdup(topic);
-               *scopeOut = strdup(scope);
+                if (scope != NULL) {
+                   *scopeOut = strdup(scope);
+               } else {
+                   *scopeOut = NULL;
+               }
        } else {
                *topicOut = NULL;
                *scopeOut = NULL;

Reply via email to