From a9fe8f28a4a9aaf1d9b84dbc6907849ace87f66e Mon Sep 17 00:00:00 2001 From: Fritz Elfert Date: Tue, 6 Feb 2001 01:01:46 +0000 Subject: - Added KDE2 PropsDialog Plugin (incomplete) - Fixed some KDE related autoconf stuff - Added PlpDrive class for returning results from rfsv:devinfo - Added auto-watch in ppsocket and finally got rid of the nasty SIGPIPE bug. Now it's no more necessary to ignore SIGPIPE in applications. - Made constructors of rfsv16, rfsv32, rpcs16 and rpcs32 private to enforce use of the factories. - Removed error output in the factories and replaced that by error codes which can be retrieved and evaluated by an application. --- lib/rfsv32.h | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'lib/rfsv32.h') diff --git a/lib/rfsv32.h b/lib/rfsv32.h index abbc6ad..4afb95a 100644 --- a/lib/rfsv32.h +++ b/lib/rfsv32.h @@ -4,16 +4,19 @@ #include "rfsv.h" #include "plpdirent.h" +class rfsvfactory; + /** * This is the implementation of the @ref rfsv protocol for - * Psion series 5 (EPOC) variant. - * For a complete documentation, see @ref rfsv . + * Psion series 5 (EPOC) variant. You normally never create + * objects of this class directly. Thus the constructor is + * private. Use @ref rfsvfactory for creating an instance of + * @ref rfsv . For a complete documentation, see @ref rfsv . */ class rfsv32 : public rfsv { + friend rfsvfactory; public: - rfsv32(ppsocket *); - Enum dir(const char * const, PlpDir &); Enum dircount(const char * const, u_int32_t &); Enum copyFromPsion(const char * const, const char * const, void *, cpCallback_t); @@ -39,7 +42,7 @@ public: Enum fclose(const u_int32_t); Enum devlist(u_int32_t &); - Enum devinfo(const u_int32_t, u_int32_t &, u_int32_t &, u_int32_t &, u_int32_t &, string &); + Enum devinfo(const u_int32_t, PlpDrive&); Enum opendir(const u_int32_t, const char * const, rfsvDirhandle &); Enum readdir(rfsvDirhandle &, PlpDirent &); Enum closedir(rfsvDirhandle &); @@ -155,6 +158,12 @@ private: REPLACE = 0x32 }; + /** + * Private constructor. Shall be called by + * rfsvfactory only. + */ + rfsv32(ppsocket *); + Enum err2psierr(int32_t); Enum fopendir(const u_int32_t, const char *, u_int32_t &); u_int32_t attr2std(const u_int32_t); -- cgit v1.2.3