release candidate
[asdcplib.git] / src / KLV.h
index 1a5c298bdbc9baa33ad820390bb9fdb214832349..68d5a3cf7b5c36a98e9c427b7f3f37f1927f6711 100755 (executable)
--- a/src/KLV.h
+++ b/src/KLV.h
@@ -134,30 +134,27 @@ inline const char* ui64sz(ui64_t i, char* buf)
     const char*   name;
   };
 
+  const MDDEntry& MXFInterop_OPAtom_Entry();
+  const MDDEntry& SMPTE_390_OPAtom_Entry();
+
   //
   class Dictionary
     {
-    public:
-#if 0
-      static const MDDEntry* FindName(const char*);
-      static const MDDEntry& Type(MDD_t type_id);
-      static bool            Replace(const MDDEntry& Entry);
-      static void            Restore(const byte_t* ul);
-      static void            RestoreAll();
-#endif
-
-    private:
       std::map<ASDCP::UL, ui32_t> m_md_lookup;
-      MDDEntry m_MDD_Table[ASDCP::MDD_Table_size];
+      std::map<ui32_t, ASDCP::UL> m_md_rev_lookup;
+      MDDEntry m_MDD_Table[(ui32_t)ASDCP::MDD_Max];
 
       ASDCP_NO_COPY_CONSTRUCT(Dictionary);
 
-
     public:
       Dictionary();
       ~Dictionary();
 
+      bool operator==(const Dictionary& rhs) const { return this == &rhs; }
+
+      void Init();
       bool AddEntry(const MDDEntry& Entry, ui32_t index);
+      bool DeleteEntry(ui32_t index);
 
       const MDDEntry* FindUL(const byte_t*) const;
       const MDDEntry& Type(MDD_t type_id) const;