1 #ifndef COMMON_OUTCOMES_CLASS
2 #define COMMON_OUTCOMES_CLASS
4 /*****************************************************************************\
6 * Name : common_outcomes *
7 * Author : Chris Koeritz *
9 *******************************************************************************
10 * Copyright (c) 1991-$now By Author. This program is free software; you can *
11 * redistribute it and/or modify it under the terms of the GNU General Public *
12 * License as published by the Free Software Foundation; either version 2 of *
13 * the License or (at your option) any later version. This is online at: *
14 * http://www.fsf.org/copyleft/gpl.html *
15 * Please send any updates to: fred@gruntose.com *
16 \*****************************************************************************/
22 //! the "common" class defines our common_outcomes.
26 //! these outcomes are returned by classes that use the basic HOOPLE support.
27 /*! More complicated classes will need to define their own outcome values to
28 describe what occurred during the processing of requests. */
30 DEFINE_API_OUTCOME(OKAY, 0, "Everything is just fine"),
31 DEFINE_API_OUTCOME(NOT_IMPLEMENTED, -1,
32 "The invoked method is unimplemented"),
33 DEFINE_API_OUTCOME(OUT_OF_RANGE, -2, "The value specified was out "
35 DEFINE_API_OUTCOME(NOT_FOUND, -3, "The item sought is not present"),
36 DEFINE_API_OUTCOME(BAD_INPUT, -4, "Precondition failure--the parameters "
37 "were inappropriate"),
38 DEFINE_API_OUTCOME(BAD_TYPE, -5, "The objects are of incompatible types"),
39 DEFINE_API_OUTCOME(IS_FULL, -6, "There is no room in the storage facility"),
40 DEFINE_API_OUTCOME(IS_EMPTY, -7, "The container is empty currently"),
41 DEFINE_API_OUTCOME(IS_NEW, -8, "The item is new"),
42 DEFINE_API_OUTCOME(EXISTING, -9, "The item was already present"),
43 DEFINE_API_OUTCOME(FAILURE, -10, "A failure has occurred"),
44 DEFINE_API_OUTCOME(OUT_OF_MEMORY, -11, "There is not enough memory for the "
45 "request according to the operating system"),
46 DEFINE_API_OUTCOME(ACCESS_DENIED, -12, "The request was denied, possibly "
47 "by the operating system"),
48 DEFINE_API_OUTCOME(IN_USE, -13, "The object is already in exclusive use"),
49 DEFINE_API_OUTCOME(UNINITIALIZED, -14, "The object has not been "
50 "constructed properly"),
51 DEFINE_API_OUTCOME(TIMED_OUT, -15, "The allowed time has now elapsed"),
52 DEFINE_API_OUTCOME(GARBAGE, -16, "The request or response has been "
54 DEFINE_API_OUTCOME(NO_SPACE, -17, "A programmatic limit on storage space "
56 DEFINE_API_OUTCOME(DISALLOWED, -18, "The method denied the request"),
57 DEFINE_API_OUTCOME(INCOMPLETE, -19, "The operation did not finish or the "
58 "object is not completed"),
59 DEFINE_API_OUTCOME(NO_HANDLER, -20, "The object type passed in was not "
60 "understood by the invoked method"),
61 DEFINE_API_OUTCOME(NONE_READY, -21, "There were no objects available"),
62 DEFINE_API_OUTCOME(INVALID, -22, "That request or object was invalid"),
63 DEFINE_API_OUTCOME(PARTIAL, -23, "The request was only partially finished"),
64 DEFINE_API_OUTCOME(NO_LICENSE, -24, "The software license does not permit"
66 DEFINE_API_OUTCOME(UNEXPECTED, -25, "This item was unexpected, although "
67 "not necessarily erroneous"),
68 DEFINE_API_OUTCOME(ENCRYPTION_MISMATCH, -26, "The request failed due to a "
69 "mismatch between encryption expected and encryption provided")
72 static const char *outcome_name(const outcome &to_name);
73 //!< Returns a string representation of the outcome "to_name".
74 /*!< If "to_name" is unknown, because it's not a member of the
75 common::outcomes enum, then a string reporting that is returned. */
81 #endif // outer guard.