From d439bc3807b3f7cea0544899ee5fc8d849bf32df Mon Sep 17 00:00:00 2001 From: Fritz Elfert Date: Wed, 2 Aug 2000 18:26:29 +0000 Subject: Added a wrapper for enums and changed all return-code related stuff as well as some other enums to use that instead of plain enums. This results in stronger type checking, range checking and the ability to write an enum's textual representation. --- lib/rfsv.h | 81 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 42 insertions(+), 39 deletions(-) (limited to 'lib/rfsv.h') diff --git a/lib/rfsv.h b/lib/rfsv.h index a74fd0c..3aa9f70 100644 --- a/lib/rfsv.h +++ b/lib/rfsv.h @@ -1,6 +1,8 @@ #ifndef _rfsv_h_ #define _rfsv_h_ +#include "Enum.h" + class ppsocket; class bufferStore; class bufferArray; @@ -30,44 +32,6 @@ typedef int (*cpCallback_t)(long); */ class rfsv { public: - virtual ~rfsv() {} - virtual void reset() = 0; - virtual void reconnect() = 0; - virtual long getStatus() = 0; - virtual const char *getConnectName() = 0; - virtual long fopen(long, const char *, long &) = 0; - virtual long mktemp(long *, char *) = 0; - virtual long fcreatefile(long, const char *, long &) = 0; - virtual long freplacefile(long, const char *, long &) = 0; - virtual long fopendir(long, const char *, long &) = 0; - virtual long fclose(long) = 0; - virtual long dir(const char *, bufferArray *) = 0; - virtual long fgetmtime(const char *, long *) = 0; - virtual long fsetmtime(const char *, long) = 0; - virtual long fgetattr(const char *, long *) = 0; - virtual long fgeteattr(const char *, long *, long *, long *) =0; - virtual long fsetattr(const char *, long, long) = 0; - virtual long dircount(const char *, long *) = 0; - virtual long devlist(long *) = 0; - virtual char *devinfo(int, long *, long *, long *, long *) = 0; - virtual char *opAttr(long) = 0; - virtual long opMode(long) = 0; - virtual long fread(long, unsigned char *, long) = 0; - virtual long fwrite(long, unsigned char *, long) = 0; - virtual long copyFromPsion(const char *, const char *, cpCallback_t) = 0; - virtual long copyToPsion(const char *, const char *, cpCallback_t) = 0; - virtual long fsetsize(long, long) = 0; - virtual long fseek(long, long, long) = 0; - virtual long mkdir(const char *) = 0; - virtual long rmdir(const char *) = 0; - virtual long rename(const char *, const char *) = 0; - virtual long remove(const char *) = 0; - - virtual long attr2std(long) = 0; - virtual long std2attr(long) = 0; - - char *opErr(long); - /** * The kown modes for seek. */ @@ -175,7 +139,9 @@ class rfsv { E_PSI_FILE_HANDLE = -110, // Special error code for "Operation not permitted in RFSV16" - E_PSI_NOT_SIBO = -200 + E_PSI_NOT_SIBO = -200, + // Special error code for "internal library error" + E_PSI_INTERNAL = -201 }; /** @@ -207,6 +173,43 @@ class rfsv { PSI_A_STREAM = 0x0800, PSI_A_TEXT = 0x1000 }; + virtual ~rfsv() {} + virtual void reset() = 0; + virtual void reconnect() = 0; + virtual Enum getStatus() = 0; + virtual const char *getConnectName() = 0; + virtual Enum fopen(long, const char *, long &) = 0; + virtual Enum mktemp(long *, char *) = 0; + virtual Enum fcreatefile(long, const char *, long &) = 0; + virtual Enum freplacefile(long, const char *, long &) = 0; + virtual Enum fopendir(long, const char *, long &) = 0; + virtual Enum fclose(long) = 0; + virtual Enum dir(const char *, bufferArray *) = 0; + virtual Enum fgetmtime(const char *, long *) = 0; + virtual Enum fsetmtime(const char *, long) = 0; + virtual Enum fgetattr(const char *, long *) = 0; + virtual Enum fgeteattr(const char *, long *, long *, long *) =0; + virtual Enum fsetattr(const char *, long, long) = 0; + virtual Enum dircount(const char *, long *) = 0; + virtual Enum devlist(long *) = 0; + virtual char *devinfo(int, long *, long *, long *, long *) = 0; + virtual char *opAttr(long) = 0; + virtual long opMode(long) = 0; + virtual long fread(long, unsigned char *, long) = 0; + virtual long fwrite(long, unsigned char *, long) = 0; + virtual Enum copyFromPsion(const char *, const char *, cpCallback_t) = 0; + virtual Enum copyToPsion(const char *, const char *, cpCallback_t) = 0; + virtual Enum fsetsize(long, long) = 0; + virtual long fseek(long, long, long) = 0; + virtual Enum mkdir(const char *) = 0; + virtual Enum rmdir(const char *) = 0; + virtual Enum rename(const char *, const char *) = 0; + virtual Enum remove(const char *) = 0; + + virtual long attr2std(long) = 0; + virtual long std2attr(long) = 0; + + char *opErr(long); }; #endif -- cgit v1.2.3