#ifndef DCCL20091211H
#define DCCL20091211H

namespace goby
{ 
    namespace acomms
    {
        /// \class DCCLCodec dccl.h goby/acomms/dccl.h
        /// \brief provides an API to the Dynamic CCL Codec.
        class DCCLCodec
        {
          public:
            
            /// \name Initialization Methods.
            /// These methods are intended to be called before doing any work with the class. However,
            /// they may be called at any time as desired.
            //@{

            /// \brief Set (and overwrite completely if present) the current configuration. (protobuf::DCCLConfig defined in acomms_dccl.proto)
            void set_cfg(const protobuf::DCCLConfig& cfg);
            
            /// \brief Set (and merge "repeated" fields) the current configuration. (protobuf::DCCLConfig defined in acomms_dccl.proto). Non-repeated fields will be overwritten if set.
            void merge_cfg(const protobuf::DCCLConfig& cfg);

            //@}            

        };
    }
}

#endif
