feisty meow concerns codebase 2.140
common_outcomes.h
Go to the documentation of this file.
1#ifndef COMMON_OUTCOMES_CLASS
2#define COMMON_OUTCOMES_CLASS
3
4/*****************************************************************************\
5* *
6* Name : common_outcomes *
7* Author : Chris Koeritz *
8* *
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\*****************************************************************************/
17
18#include "outcome.h"
19
20namespace basis {
21
23class common
24{
25public:
27
29 enum outcomes {
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 "
34 "of bounds"),
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 "
53 "corrupted"),
54 DEFINE_API_OUTCOME(NO_SPACE, -17, "A programmatic limit on storage space "
55 "has been reached"),
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"
65 "this request"),
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")
70 };
71
72 static const char *outcome_name(const outcome &to_name);
74
77}; //class.
78
79} //namespace.
80
81#endif // outer guard.
82
the "common" class defines our common_outcomes.
static const char * outcome_name(const outcome &to_name)
Returns a string representation of the outcome "to_name".
outcomes
these outcomes are returned by classes that use the basic HOOPLE support.
Outcomes describe the state of completion for an operation.
Definition outcome.h:31
The guards collection helps in testing preconditions and reporting errors.
Definition array.h:30