osaf/tools/safimm/immcfg/imm_import.cc     |  2 ++
 osaf/tools/safimm/immdump/imm_xmlw_dump.cc |  9 +++++++++
 osaf/tools/safimm/immlist/imm_list.c       |  3 +++
 3 files changed, 14 insertions(+), 0 deletions(-)


Support reference integrity (NO_DANGLING flag) to IMM tools

diff --git a/osaf/tools/safimm/immcfg/imm_import.cc 
b/osaf/tools/safimm/immcfg/imm_import.cc
--- a/osaf/tools/safimm/immcfg/imm_import.cc
+++ b/osaf/tools/safimm/immcfg/imm_import.cc
@@ -1612,6 +1612,8 @@ static SaImmAttrFlagsT charsToFlagsHelpe
                return SA_IMM_ATTR_NOTIFY;
        } else if (len == strlen("SA_NO_DUPLICATES") && strncmp((const 
char*)str, "SA_NO_DUPLICATES", len) == 0) {
                return SA_IMM_ATTR_NO_DUPLICATES;
+       } else if (len == strlen("SA_NO_DANGLING") && strncmp((const char*)str, 
"SA_NO_DANGLING", len) == 0) {
+               return SA_IMM_ATTR_NO_DANGLING;
        }
 
        LOG_ER("UNKNOWN FLAGS, %s", str);
diff --git a/osaf/tools/safimm/immdump/imm_xmlw_dump.cc 
b/osaf/tools/safimm/immdump/imm_xmlw_dump.cc
--- a/osaf/tools/safimm/immdump/imm_xmlw_dump.cc
+++ b/osaf/tools/safimm/immdump/imm_xmlw_dump.cc
@@ -508,6 +508,15 @@ void flagsToXMLw(SaImmAttrDefinitionT_2*
         }
     }
 
+    if (flags & SA_IMM_ATTR_NO_DANGLING)
+    {   
+        if(xmlTextWriterWriteElement(writer, (xmlChar*) "flag",
+           (xmlChar*) "SA_NO_DANGLING") < 0 ) { 
+            std::cout << "Error at xmlTextWriterWriteElement (flag - 
SA_NO_DANGLING)" << std::endl;
+            exit(1);
+        }   
+    }
+
 }
 
 void typeToXMLw(SaImmAttrDefinitionT_2* p, xmlTextWriterPtr writer)
diff --git a/osaf/tools/safimm/immlist/imm_list.c 
b/osaf/tools/safimm/immlist/imm_list.c
--- a/osaf/tools/safimm/immlist/imm_list.c
+++ b/osaf/tools/safimm/immlist/imm_list.c
@@ -323,6 +323,9 @@ static void display_class_definition(con
                        if (attrDefinition->attrFlags & 
SA_IMM_ATTR_NO_DUPLICATES)
                                printf(", NO_DUPLICATES");
 
+                       if (attrDefinition->attrFlags & SA_IMM_ATTR_NO_DANGLING)
+                               printf(", NO_DANGLING");
+
                } else if (attrDefinition->attrFlags & SA_IMM_ATTR_RUNTIME) {
                        if (attrDefinition->attrDefaultValue != NULL) {
                                printf(" = ");

------------------------------------------------------------------------------
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to