CmdLineApp.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
// Copyright (c) 1996 James Clark
// See the file COPYING for copying permission.
#pragma ident "%Z%%M% %I% %E% SMI"
#ifndef CmdLineApp_INCLUDED
#define CmdLineApp_INCLUDED 1
#ifdef __GNUG__
#pragma interface
#endif
#include "MessageReporter.h"
#include "Vector.h"
#include "StringOf.h"
#include "Boolean.h"
#include "CodingSystem.h"
#include "OutputByteStream.h"
#include "OutputCharStream.h"
#include "CodingSystemKit.h"
#ifdef SP_WIDE_SYSTEM
// for wchar_t
#include <stddef.h>
#endif
#ifdef SP_NAMESPACE
#endif
#ifdef SP_WIDE_SYSTEM
#else
typedef char AppChar;
#endif
CmdLineApp(const char *requiredInternalCode = 0);
static const MessageType2 &openFileErrorMessage();
static const MessageType2 &closeFileErrorMessage();
const CodingSystem *codingSystem();
const CodingSystem *outputCodingSystem();
const CharsetInfo &systemCharset();
void resetCodingSystemKit();
const AppChar *errorFile_;
const CodingSystem *outputCodingSystem_;
void initCodingSystem(const char *requiredInternalCode);
const CodingSystem *codingSystem_;
};
#ifdef SP_WIDE_SYSTEM
#define SP_DEFINE_APP(CLASS) \
extern "C" \
#else
#define SP_DEFINE_APP(CLASS) \
#endif
inline
{
return codingSystem_;
}
inline
{
return outputCodingSystem_;
}
inline
{
return codingSystemKit_.pointer();
}
inline
{
return codingSystemKit_->systemCharset();
}
#ifdef SP_NAMESPACE
}
#endif
#endif /* not CmdLineApp_INCLUDED */