#ifndef DEVICE_CTRL_SPKBOX_H
#define DEVICE_CTRL_SPKBOX_H
#include <string>

#include "wbs/spkbox/spkbox_config.pb.h"

namespace zsy
{
    class Spkbox
    {
    protected:
        SpkboxConfig config;

    public:
        Spkbox(const SpkboxConfig &config);

        virtual ~Spkbox() = default;

        virtual void play(const std::string &content, uint8_t times = 1) = 0;

        /**
        * 获取设备编号
        *
        * @return 设备编号
        */
        std::string sn() const;

        /**
         * 获取设备名称
         *
         * @return 设备名称
         */
        std::string name() const;
    };
} // zsy

#endif //DEVICE_CTRL_SPKBOX_H