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__