From e2de64d6f1beb9e492daf5b886e19933c1fa41dd Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdemultimedia@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- mpeglib/example/yaf/yafcore/inputInterface.h | 102 +++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 mpeglib/example/yaf/yafcore/inputInterface.h (limited to 'mpeglib/example/yaf/yafcore/inputInterface.h') diff --git a/mpeglib/example/yaf/yafcore/inputInterface.h b/mpeglib/example/yaf/yafcore/inputInterface.h new file mode 100644 index 00000000..f3ea0065 --- /dev/null +++ b/mpeglib/example/yaf/yafcore/inputInterface.h @@ -0,0 +1,102 @@ +/* + This class can wait for an input by the user + Copyright (C) 1998 Martin Vogt + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation. + + For more information look at the file COPYRIGHT in this package + + */ + + + +#ifndef __INPUTINTERFACE_H +#define __INPUTINTERFACE_H + + +#include "buffer.h" +#include +#include + +extern "C" { +#include +#include +#include +#include +#include +#include +} + +// uncomment this for debugging the input stream +// (written to file instream.dbg) +//#define _DEBUG_INPUT + +#define _TIMEOUT_MS 2000 + +class MultiReader; + +class KDE_EXPORT InputInterface { + + int currentCommandNumber; + + int protocolSyntax; + Buffer* currentLine; + Buffer* rawLine; + MultiReader* multiReader; + Buffer* loopback; + Buffer* yafScript; + std::ifstream* yafInput; + + + public: + + InputInterface(); + ~InputInterface(); + + int addFileDescriptor(int fd); + void removeFileDescriptor(int fd); + int write(int fd,const char* txt); + + /** + waits until a complete Line is entered + */ + void waitForLine(); + + /** + returns true if a complete new InputLine is avaiable + */ + + int hasLine(); + + int getCurrentCommandNumber(); + + void increaseCurrentCommandNumber(); + + /** + clears the input Line + */ + void clearLine(); + + + /** + returns the new Line + */ + char* getLine(); + + + void setProtocolSyntax(int proto); + void addInputLine(struct Buffer* buffer); + + private: + void makeValidLine(char* line); + void insertYafScript(std::ifstream* stream); + + +}; + +#endif + + + -- cgit v1.2.1