3 #ifndef __ARC_DATASTATUS_H__
4 #define __ARC_DATASTATUS_H__
10 #include <arc/StringConv.h>
11 #include <arc/Utils.h>
15 #define DataStatusRetryableBase (100)
17 #define DataStatusErrnoBase 1000
18 #define EARCTRANSFERTIMEOUT (DataStatusErrnoBase + 1) // Transfer timed out
19 #define EARCCHECKSUM (DataStatusErrnoBase + 2) // Checksum mismatch
20 #define EARCLOGIC (DataStatusErrnoBase + 3) // Bad logic, eg calling StartWriting on a
22 #define EARCRESINVAL (DataStatusErrnoBase + 4) // All results obtained from a service are invalid
23 #define EARCSVCTMP (DataStatusErrnoBase + 5) // Temporary service error
24 #define EARCSVCPERM (DataStatusErrnoBase + 6) // Permanent service error
25 #define EARCUIDSWITCH (DataStatusErrnoBase + 7) // Error switching uid
26 #define EARCREQUESTTIMEOUT (DataStatusErrnoBase + 8) // Request made to remote service timed out
27 #define EARCOTHER (DataStatusErrnoBase + 9) // Other / unknown error
29 #define DataStatusErrnoMax EARCOTHER
240 : status(status), Errno(0), desc(desc) {
241 if (!
Passed()) Errno = EARCOTHER;
253 : status(status), Errno(error_no), desc(desc) {}
257 : status(
Success), Errno(0), desc(
"") {}
265 return status == s.status;
274 return status != s.status;
284 if (!
Passed()) Errno = EARCOTHER;
293 operator bool()
const {
335 operator std::string(
void)
const;
351 return (o << ((std::string)d));
356 #endif // __ARC_DATASTATUS_H__