14 #ifndef smtk_io_XmlStringWriter_h
15 #define smtk_io_XmlStringWriter_h
16 #include "smtk/CoreExports.h"
19 #include "smtk/attribute/Resource.h"
38 : m_resource(resource)
46 virtual std::string className()
const = 0;
47 virtual std::string rootNodeName()
const = 0;
48 virtual unsigned int fileVersion()
const = 0;
50 virtual std::string convertToString(
bool no_declaration =
false) = 0;
53 virtual std::string getString(std::size_t ith,
bool no_declaration =
false) = 0;
55 virtual void generateXml() = 0;
61 void includeAnalyses(
bool val) { m_includeAnalyses = val; }
64 void includeAdvanceLevels(
bool val) { m_includeAdvanceLevels = val; }
67 void includeAttributeAssociations(
bool val) { m_includeAttributeAssociations = val; }
70 void includeDefinitions(
bool val) { m_includeDefinitions = val; }
73 void includeEvaluators(
bool val) { m_includeEvaluators = val; }
76 void includeInstances(
bool val) { m_includeInstances = val; }
79 void includeResourceAssociations(
bool val) { m_includeResourceAssociations = val; }
82 void includeResourceID(
bool val) { m_includeResourceID = val; }
85 void includeUniqueRoles(
bool val) { m_includeUniqueRoles = val; }
88 void includeViews(
bool val) { m_includeViews = val; }
92 void useDirectoryInfo(
bool val) { m_useDirectoryInfo = val; }
96 void setIncludedDefinitions(
const std::vector<smtk::attribute::DefinitionPtr>& includedDefs)
98 m_includedDefs = includedDefs;
103 void setExcludedDefinitions(
const std::set<smtk::attribute::DefinitionPtr>& excludedDefs)
105 m_excludedDefs = excludedDefs;
110 bool m_includeAnalyses{
true };
111 bool m_includeAdvanceLevels{
true };
112 bool m_includeAttributeAssociations{
true };
113 bool m_includeDefinitions{
true };
114 bool m_includeEvaluators{
true };
115 bool m_includeInstances{
true };
116 bool m_includeResourceAssociations{
true };
117 bool m_includeResourceID{
true };
118 bool m_includeUniqueRoles{
true };
119 bool m_includeViews{
true };
120 bool m_useDirectoryInfo{
false };
121 std::vector<smtk::attribute::DefinitionPtr> m_includedDefs;
122 std::set<smtk::attribute::DefinitionPtr> m_excludedDefs;
129 #endif // smtk_io_XmlStringWriter_h