Most methods in Shore return an error indicator of type shrc. The shrc type contains not only an integer error code, but also a stack trace showing where the error occurred and the series of function calls that triggered the error.
Shrc is a C++ class, and it contains various member functions that application programmers may find useful. The following is a portion of the class definition of shrc (shrc is the same type as w_rc_t, which is defined in w_rc.h):
class shrc
{
public:
bool is_error() const;
int err_num() const;
operator const void*() const;
friend ostream &operator<<(ostream& o, const shrc &rc);
};
If a Shore method completes successfully, it returns the constant RCOK. If a Shore method returns something other than RCOK, then an application can use then shrc::err_num method to get the integer error code corresponding to the error. The possible error codes are listed in the manual page errors(OC). Each error code has a #defineed value, which is included in your sources if you include ShoreApp.h.
Shrc includes operator const void*() to allow applications to say things like shrc rc = ...; if(rc).... Shrc also includes an overloading of the C++ << operator.