summaryrefslogtreecommitdiff
path: root/develop/src/tools/source.h
diff options
context:
space:
mode:
authorzwer <zwer@1f4bef6d-8e0a-0410-8695-e467da8aaccf>2006-01-24 13:13:39 +0000
committerzwer <zwer@1f4bef6d-8e0a-0410-8695-e467da8aaccf>2006-01-24 13:13:39 +0000
commit0d14897dfb0fe4310ccb2bb51a5960a03d5a5bc6 (patch)
tree7b65667843ea5db07766d23688f045d20140361c /develop/src/tools/source.h
parente1dadf2dbdd2bcf65517310498ded03c821e463e (diff)
downloadvdr-plugin-ffnetdev-0d14897dfb0fe4310ccb2bb51a5960a03d5a5bc6.tar.gz
vdr-plugin-ffnetdev-0d14897dfb0fe4310ccb2bb51a5960a03d5a5bc6.tar.bz2
Im Projektarchiv verschoben
git-svn-id: svn://svn.berlios.de/ffnetdev/trunk@5 1f4bef6d-8e0a-0410-8695-e467da8aaccf
Diffstat (limited to 'develop/src/tools/source.h')
-rw-r--r--develop/src/tools/source.h109
1 files changed, 0 insertions, 109 deletions
diff --git a/develop/src/tools/source.h b/develop/src/tools/source.h
deleted file mode 100644
index 09c4bf3..0000000
--- a/develop/src/tools/source.h
+++ /dev/null
@@ -1,109 +0,0 @@
-#ifndef TOOLBOX_SOURCE_H
-#define TOOLBOX_SOURCE_H
-
-#include "tools/tools.h"
-
-#include <sys/types.h>
-#include <string>
-
-/* cTBSource provides an abstract interface for input and output. It can
- be used to have common access to different types of UNIX-files. */
-
-class cTBSource {
-private:
- int m_Filed;
-
- size_t m_BytesRead;
- size_t m_BytesWritten;
-
- std::string m_LineBuffer;
-
-public:
- cTBSource(void);
- virtual ~cTBSource();
-
- /* SysRead() implements the low-level read on the source. It will store
- data into the area pointed to by Buffer, which is at least Length
- bytes in size. It will return the exact number of bytes read (which
- can be fewer than requested). On error, -1 is returned, and errno
- is set to an appropriate value. */
- virtual ssize_t SysRead(void *Buffer, size_t Length) const = 0;
-
- /* SysWrite() implements the low-level write on the source. It will write
- at most Length bytes of the data pointed to by Buffer. It will return
- the exact number of bytes written (which can be fewer than requested).
- On error, -1 is returned, and errno is set to an appropriate value. */
- virtual ssize_t SysWrite(const void *Buffer, size_t Length) const = 0;
-
- /* IsOpen() returns true, if this source refers to a valid descriptor.
- It is not checked whether this source is really open, so only if
- opened by the appropriate Methods this function will return the
- correct value */
- virtual bool IsOpen(void) const { return m_Filed != -1; }
-
- /* Open() associates this source with the descriptor Filed, setting it
- to non-blocking mode if IsUnixFd in true. Returns true on success,
- and false on error, setting errno to appropriately.
- If you want to implement sources that can't be represented by UNIX
- filedescriptors, you can use Filed to store any useful information
- about the source.
- This must be called by any derivations in an appropriate Method (like
- open for files, connect for sockets). */
- virtual bool Open(int Filed, bool IsUnixFd = true);
-
- /* Close() resets the source to the uninitialized state (IsOpen() == false)
- and must be called by any derivations after really closing the source.
- Returns true on success and false on error, setting errno appropriately.
- The object is in closed state afterwards, even if an error occured. */
- virtual bool Close(void);
-
- /* Read() reads at most Length bytes into the storage pointed to by Buffer,
- which must be at least Length bytes in size, using the SysRead()-
- Interface. It retries if an EINTR occurs (i.e. the low-level call was
- interrupted). It returns the exact number of bytes read (which can be
- fewer than requested). On error, -1 is returned, and errno is set
- appropriately. */
- ssize_t Read(void *Buffer, size_t Length);
-
- /* Write() writes at most Length bytes from the storage pointed to by
- Buffer, using the SysWrite()-Interface. It retries if EINTR occurs
- (i.e. the low-level call was interrupted). It returns the exact number
- of bytes written (which can be fewer than requested). On error, -1 is
- returned and errno is set appropriately. */
- ssize_t Write(const void *Buffer, size_t Length);
-
- /* TimedWrite() tries to write Length bytes from the storage pointed to by
- Buffer within the time specified by TimeoutMs, using the Write()-
- Interface. On success, true is returned. On error, false is returned
- and errno is set appropriately. TimedRead only works on UNIX file
- descriptor sources. */
- bool TimedWrite(const void *Buffer, size_t Length, uint TimeoutMs);
-
- bool SafeWrite(const void *Buffer, size_t Length);
-
- /* ReadUntil() tries to read at most Length bytes into the storage pointed
- to by Buffer, which must be at least Length bytes in size, within the
- time specified by TimeoutMs, using the Read()-Interface. Reading stops
- after the character sequence Seq has been read and on end-of-file.
- Returns the number of bytes read (if that is equal to Length, you have
- to check if the buffer ends with Seq), or -1 on error, in which case
- errno is set appropriately. */
- ssize_t ReadUntil(void *Buffer, size_t Length, const char *Seq,
- uint TimeoutMs);
-
- /* BytesRead() returns the exact number of bytes read through the Read()
- method since Close() has been called on this source (or since its
- creation). */
- size_t BytesRead(void) const { return m_BytesRead; }
-
- /* BytesWritten() returns the exact number of bytes written through the
- Write() method since Close() has been called on this source (or since
- its creation). */
- size_t BytesWritten(void) const { return m_BytesWritten; }
-
- /* operator int() returns the descriptor (or informative number) associated
- with this source. */
- operator int() const { return m_Filed; }
-};
-
-#endif // TOOLBOX_SOURCE_H