summaryrefslogtreecommitdiff
path: root/tools/msgenc/MessagesEncoder.h
blob: a7b9111cbe43ba2a106803f17a70de7f47ffb785 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef GUARD_MESSAGESENCODER_H
#define GUARD_MESSAGESENCODER_H


#include "MessagesConverter.h"

class MessagesEncoder : public MessagesConverter
{
    map <string, uint16_t> cmdmap;
    map <string, uint16_t> charmap;

    void ReadMessagesFromText(string& filename);
    void WriteMessagesToBin(string& filename);
    u16string EncodeMessage(const string& message, int & i);
    void CharmapRegisterCharacter(string& code, uint16_t value) override;
    void CmdmapRegisterCommand(string& command, uint16_t value) override;
public:
    MessagesEncoder(string &_textfilename, int _key, string &_charmapfilename, string &_binfilename) : MessagesConverter(CONV_ENCODE, _textfilename, _key, _charmapfilename, _binfilename) {}
    void ReadInput() override;
    void Convert() override;
    void WriteOutput() override;
    ~MessagesEncoder() override = default;
};


#endif //GUARD_MESSAGESENCODER_H