53 virtual C4P::C4P_signed32& loc() = 0;
54 virtual C4P::C4P_signed32& limit() = 0;
55 virtual C4P::C4P_signed32 first() = 0;
56 virtual C4P::C4P_signed32& last() = 0;
57 virtual C4P::C4P_signed32 bufsize() = 0;
58 virtual char*& nameoffile() = 0;
59 virtual C4P::C4P_signed32& namelength() = 0;
60 virtual char* buffer() = 0;
61 virtual char* buffer2() = 0;
62 virtual char32_t* buffer32() = 0;
63 virtual C4P::C4P_signed32& maxbufstack() = 0;
64 virtual void overflow(C4P::C4P_signed32 s, C4P::C4P_integer n) = 0;
67class MIKTEXMFTYPEAPI(WebAppInputLine) :
73 MIKTEXMFEXPORT MIKTEXTHISCALL WebAppInputLine();
74 WebAppInputLine(
const WebAppInputLine& other) =
delete;
75 WebAppInputLine& operator=(
const WebAppInputLine& other) =
delete;
76 WebAppInputLine(WebAppInputLine&& other) =
delete;
77 WebAppInputLine& operator=(WebAppInputLine&& other) =
delete;
78 virtual MIKTEXMFEXPORT MIKTEXTHISCALL ~WebAppInputLine()
noexcept;
87 MIKTEXMFTHISAPI(
bool) InputLine(
C4P::C4P_text & f, C4P::C4P_boolean bypassEndOfLine)
const;
89 MIKTEXMFTHISAPI(
bool) OpenInputFile(FILE * *ppFile,
const MiKTeX::Util::PathName & fileNameInternalEncoding);
93 MIKTEXMFTHISAPI(
void)
Init(std::vector<char*>&args)
override;
96 MIKTEXMFTHISAPI(
void) SetInputOutput(
IInputOutput * inputOutput);
101 virtual MIKTEXMFTHISAPI(
size_t) InputLineInternal(FILE * f,
char* buffer,
char* buffer2,
size_t bufferSize,
size_t bufferPosition,
int& lastChar)
const;
102 virtual MIKTEXMFTHISAPI(
void) CloseFileInternal(FILE * f);
104 virtual int GetFormatIdent()
const
117 IInputOutput* inputOutput = GetInputOutput();
119 inputOutput->namelength() =
static_cast<C4P::C4P_signed16
>(fileName.GetLength());
122 static WebAppInputLine* GetWebAppInputLine()
124 return dynamic_cast<WebAppInputLine*
>(Application::GetApplication());
130 MIKTEXMFTHISAPI(MiKTeX::Util::PathName) GetLastInputFileName()
const;
131 MIKTEXMFTHISAPI(
bool) ProcessOption(
int opt,
const std::string& optArg)
override;
132 MIKTEXMFTHISAPI(
void) AddOptions()
override;
134 virtual MIKTEXMFTHISAPI(
void) TouchJobOutputFile(FILE*)
const;
138 virtual MIKTEXMFTHISAPI(
void) BufferSizeExceeded()
const;
141 std::unique_ptr<impl> pimpl;
156 bool done = WebAppInputLine::GetWebAppInputLine()->OpenInputFile(*
static_cast<C4P::FileRoot*
>(&f), WebAppInputLine::GetWebAppInputLine()->GetNameOfFile());
174 bool done = WebAppInputLine::GetWebAppInputLine()->OpenOutputFile(*
static_cast<C4P::FileRoot*
>(&f), WebAppInputLine::GetWebAppInputLine()->GetNameOfFile(), isTextFile_deprecated, outPath);