actual/packages/node-libofx/OpenSP-1.5.2/include/CodingSystemKit.h
2022-04-28 22:44:38 -04:00

59 lines
1.4 KiB
C++

// Copyright (c) 1997 James Clark
// See the file COPYING for copying permission.
#ifndef CodingSystemKit_INCLUDED
#define CodingSystemKit_INCLUDED 1
#ifdef __GNUG__
#pragma interface
#endif
#include "Boolean.h"
#include "StringC.h"
#include "CodingSystem.h"
#include "Resource.h"
#include "CharsetInfo.h"
#ifdef SP_NAMESPACE
namespace SP_NAMESPACE {
#endif
class SP_API InputCodingSystemKit : public Resource {
public:
virtual ~InputCodingSystemKit();
// Returned InputCodingSystem lives at least as long as the Kit.
virtual const InputCodingSystem *
identityInputCodingSystem() const = 0;
virtual const InputCodingSystem *
makeInputCodingSystem(const StringC &,
const CharsetInfo &,
Boolean isBctf,
const char *&staticName) const = 0;
virtual Char replacementChar() const = 0;
const CharsetInfo &systemCharset() const;
protected:
CharsetInfo systemCharset_;
};
class SP_API CodingSystemKit : public InputCodingSystemKit {
public:
virtual ~CodingSystemKit() = 0;
virtual CodingSystemKit *copy() const = 0;
virtual const CodingSystem *
identityCodingSystem() const = 0;
virtual const CodingSystem *
makeCodingSystem(const char *, Boolean isBctf) const = 0;
static CodingSystemKit *make(const char *);
};
inline
const CharsetInfo &InputCodingSystemKit::systemCharset() const
{
return systemCharset_;
}
#ifdef SP_NAMESPACE
}
#endif
#endif /* not CodingSystemKit_INCLUDED */