X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2FMXF.h;h=cda4408fa0f6aa3e421836fcd0aa8df55f74b4bd;hb=5584493c50cfa0541398527741253a0db8cdbf18;hp=3b901ac93ef9a9c6dd3fa51c8251749f4d3afdbd;hpb=ba6e57635ce6482fa9dcd6a824b579edb459b834;p=asdcplib.git diff --git a/src/MXF.h b/src/MXF.h index 3b901ac..cda4408 100755 --- a/src/MXF.h +++ b/src/MXF.h @@ -33,6 +33,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define _MXF_H_ #include "MXFTypes.h" +#include namespace ASDCP { @@ -432,26 +433,39 @@ namespace ASDCP } }; + typedef std::map mca_label_map_t; + bool decode_mca_string(const std::string& s, const mca_label_map_t& labels, const Dictionary& dict, const std::string& language, InterchangeObject_list_t&, ui32_t&); + // - class MCAConfigParser : public InterchangeObject_list_t + class ASDCP_MCAConfigParser : public InterchangeObject_list_t { - typedef std::map label_map_t; - label_map_t label_map; - ui32_t m_ChannelCount; + KM_NO_COPY_CONSTRUCT(ASDCP_MCAConfigParser); + ASDCP_MCAConfigParser(); + protected: + mca_label_map_t m_LabelMap; + ui32_t m_ChannelCount; const Dictionary*& m_Dict; - KM_NO_COPY_CONSTRUCT(MCAConfigParser); - MCAConfigParser(); public: - MCAConfigParser(const Dictionary*&); + ASDCP_MCAConfigParser(const Dictionary*&); bool DecodeString(const std::string& s, const std::string& language = "en"); // Valid only after a successful call to DecodeString ui32_t ChannelCount() const; }; + // + class AS02_MCAConfigParser : public ASDCP_MCAConfigParser + { + KM_NO_COPY_CONSTRUCT(AS02_MCAConfigParser); + AS02_MCAConfigParser(); + + public: + AS02_MCAConfigParser(const Dictionary*&); + }; + } // namespace MXF } // namespace ASDCP