3065 some functions in the tcp module can be static
[unleashed.git] / usr / src / cmd / man / src / util / nsgmls.src / lib / CodingSystem.cxx
blob22c08440293c97b1d7bd3e5cee3c8d3931dd0ff2
1 // Copyright (c) 1994 James Clark
2 // See the file COPYING for copying permission.
3 #pragma ident "%Z%%M% %I% %E% SMI"
5 #ifdef __GNUG__
6 #pragma implementation
7 #endif
9 #include "splib.h"
10 #include "CodingSystem.h"
12 #include <string.h>
14 #ifdef SP_NAMESPACE
15 namespace SP_NAMESPACE {
16 #endif
18 InputCodingSystem::~InputCodingSystem()
22 StringC InputCodingSystem::convertIn(const char *s) const
24 Decoder *decoder = makeDecoder();
25 StringC str;
26 str.resize(strlen(s));
27 str.resize(decoder->decode(&str[0], s, strlen(s), &s));
28 delete decoder;
29 return str;
32 Boolean InputCodingSystem::isIdentity() const
34 return 0;
37 OutputCodingSystem::~OutputCodingSystem()
41 unsigned OutputCodingSystem::fixedBytesPerChar() const
43 return 0;
46 String<char> OutputCodingSystem::convertOut(const StringC &str) const
48 Encoder *encoder = makeEncoder();
49 StrOutputByteStream stream;
50 encoder->output(str.data(), str.size(), &stream);
51 delete encoder;
52 String<char> result;
53 stream.extractString(result);
54 result += '\0';
55 return result;
58 Decoder::Decoder(unsigned minBytesPerChar)
59 : minBytesPerChar_(minBytesPerChar)
63 Decoder::~Decoder()
67 Boolean Decoder::convertOffset(unsigned long &) const
69 return false;
72 Encoder::Encoder()
76 Encoder::~Encoder()
80 void Encoder::output(Char *s, size_t n, OutputByteStream *sp)
82 output((const Char *)s, n, sp);
85 void Encoder::startFile(OutputByteStream *)
89 void Encoder::handleUnencodable(Char, OutputByteStream *)
93 void Encoder::setUnencodableHandler(Handler *)
97 RecoveringEncoder::RecoveringEncoder()
98 : unencodableHandler_(0)
102 void RecoveringEncoder::handleUnencodable(Char c, OutputByteStream *sbufp)
104 if (unencodableHandler_)
105 unencodableHandler_->handleUnencodable(c, sbufp);
108 void RecoveringEncoder::setUnencodableHandler(Handler *handler)
110 unencodableHandler_ = handler;
113 #ifdef SP_NAMESPACE
115 #endif