1 // Copyright 2014 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef _BC_EDIFACTENCODER_H_ 8 #define _BC_EDIFACTENCODER_H_ 9 class CBC_EncoderContext; 10 class CBC_EdifactEncoder; 11 class CBC_EdifactEncoder : public CBC_Encoder { 12 public: 13 CBC_EdifactEncoder(); 14 virtual ~CBC_EdifactEncoder(); 15 int32_t getEncodingMode(); 16 void Encode(CBC_EncoderContext& context, int32_t& e); 17 18 private: 19 static void handleEOD(CBC_EncoderContext& context, 20 CFX_WideString buffer, 21 int32_t& e); 22 static void encodeChar(FX_WCHAR c, CFX_WideString& sb, int32_t& e); 23 static CFX_WideString encodeToCodewords(CFX_WideString sb, 24 int32_t startPos, 25 int32_t& e); 26 }; 27 #endif 28