Katana Plug-in APIs 0.1

FnDefaultAttributeProducerUtil.h

00001 #ifndef INCLUDED_FNDEFAULTATTRIBUTEPRODUCERUTIL_H
00002 #define INCLUDED_FNDEFAULTATTRIBUTEPRODUCERUTIL_H
00003 
00004 #include <FnAttribute/FnAttribute.h>
00005 #include <FnAttribute/FnGroupBuilder.h>
00006 
00007 #include <FnDefaultAttributeProducer/FnDefaultAttributeProducerAPI.h>
00008 #include <FnDefaultAttributeProducer/plugin/ns.h>
00009 
00010 
00011 FNDEFAULTATTRIBUTEPRODUCER_NAMESPACE_ENTER
00012 {
00013 namespace DapUtil
00014 {
00015 
00016     FNDEFAULTATTRIBUTEPRODUCER_API
00017     void SetAttrHints(
00018             FnAttribute::GroupBuilder & gb,
00019             const std::string & attrPath,
00020             const FnAttribute::GroupAttribute & hintsGroup);
00021 
00022     FNDEFAULTATTRIBUTEPRODUCER_API
00023     void SetHintsForAllChildren(
00024             FnAttribute::GroupBuilder & gb,
00025             const std::string & attrPath,
00026             const FnAttribute::GroupAttribute & hintsGroup);
00027 
00028     FNDEFAULTATTRIBUTEPRODUCER_API
00029     void CopyAttrHints(
00030             FnAttribute::GroupBuilder & gb,
00031             const FnAttribute::GroupAttribute & srcGrp,
00032             const std::string & srcAttrPath,
00033             const std::string & dstAttrPath,
00034             bool recursive);
00035 
00036     FNDEFAULTATTRIBUTEPRODUCER_API
00037     void PromoteAttrHints(
00038             FnAttribute::GroupBuilder & gb,
00039             const FnAttribute::GroupAttribute & attrWithHints,
00040             const std::string & attrPath);
00041 
00042     FNDEFAULTATTRIBUTEPRODUCER_API
00043     FnAttribute::GroupAttribute StripAttrHints(
00044             const FnAttribute::GroupAttribute & attr);
00045 
00046 
00047     FNDEFAULTATTRIBUTEPRODUCER_API
00048     void SetContainerHints(
00049             FnAttribute::GroupBuilder & gb,
00050             const std::string & attrPath,
00051             const std::string & containerPath,
00052             const FnAttribute::GroupAttribute & hintsGroup);
00053 
00062     FNDEFAULTATTRIBUTEPRODUCER_API
00063     FnAttribute::GroupAttribute GetContainerHints(
00064             const FnAttribute::GroupAttribute& defaultsGroup,
00065             const std::string& attributePath, const std::string& containerPath);
00066 
00072     FNDEFAULTATTRIBUTEPRODUCER_API
00073     FnAttribute::GroupAttribute GetAttributeHints(
00074             const FnAttribute::GroupAttribute& defaultsGroup,
00075             const std::string& attributePath);
00076 
00077     FNDEFAULTATTRIBUTEPRODUCER_API
00078     void ParseAttributeHints(
00079             const std::string & argsRoot,
00080             FnAttribute::GroupBuilder & mainGb,
00081             FnAttribute::GroupBuilder & argsGb,
00082             FnAttribute::GroupAttribute & groupAttr,
00083             const std::string & attrPath);
00084 
00085 } // namespace DapUtil
00086 }
00087 FNDEFAULTATTRIBUTEPRODUCER_NAMESPACE_EXIT
00088 
00089 #endif // INCLUDED_FNDEFAULTATTRIBUTEPRODUCERUTIL_H
00090 
 All Classes Functions Variables Typedefs Enumerations Enumerator