aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rfsvfactory.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rfsvfactory.h')
-rw-r--r--lib/rfsvfactory.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/rfsvfactory.h b/lib/rfsvfactory.h
index 99136e3..8af4575 100644
--- a/lib/rfsvfactory.h
+++ b/lib/rfsvfactory.h
@@ -10,8 +10,21 @@ class ppsocket;
* @ref rfsv protocol variant depending on the connected Psion.
*/
class rfsvfactory {
+
public:
/**
+ * The known errors which can happen during @ref create .
+ */
+ enum errs {
+ FACERR_NONE = 0,
+ FACERR_COULD_NOT_SEND = 1,
+ FACERR_AGAIN = 2,
+ FACERR_NOPSION = 3,
+ FACERR_PROTVERSION = 4,
+ FACERR_NORESPONSE = 5,
+ };
+
+ /**
* Constructs a rfsvfactory.
*
* @param skt The socket to be used for connecting
@@ -30,6 +43,14 @@ class rfsvfactory {
*/
virtual rfsv * create(bool);
+ /**
+ * Retrieve an error code.
+ *
+ * @returns The error code, in case @ref create has
+ * failed, 0 otherwise.
+ */
+ virtual Enum<errs> getError() { return err; }
+
private:
/**
* The socket to be used for connecting to the
@@ -37,6 +58,7 @@ class rfsvfactory {
*/
ppsocket *skt;
int serNum;
+ Enum<errs> err;
};
#endif