1 // ---------------------------------------------------------------------------- 2 // Copyright (C) 2014 3 // David Freese, W1HKJ 4 // 5 // This file is part of flmsg 6 // 7 // flrig is free software; you can redistribute it and/or modify 8 // it under the terms of the GNU General Public License as published by 9 // the Free Software Foundation; either version 3 of the License, or 10 // (at your option) any later version. 11 // 12 // flrig is distributed in the hope that it will be useful, 13 // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 // GNU General Public License for more details. 16 // 17 // You should have received a copy of the GNU General Public License 18 // along with this program. If not, see <http://www.gnu.org/licenses/>. 19 // ---------------------------------------------------------------------------- 20 21 #include <stdio.h> 22 #include <stdlib.h> 23 #include <ctype.h> 24 25 #include <string> 26 27 using namespace std; 28 29 typedef unsigned char t_type; 30 31 class base128 { 32 #define LINELEN 64 33 private: 34 string output; 35 size_t iolen; 36 size_t iocp; 37 bool ateof; 38 int linelength; 39 void init(); 40 void escape(string &, bool encode = true); 41 void addlf(string &); 42 void remlf(string &); 43 public: base128()44 base128() { init(); }; ~base128()45 ~base128() {}; 46 string encode(string &in); 47 string decode(string &in); 48 }; 49 50