1 /* $Id: CoinMessage.hpp 2083 2019-01-06 19:38:09Z unxusr $ */
2 // Copyright (C) 2002, International Business Machines
3 // Corporation and others.  All Rights Reserved.
4 // This code is licensed under the terms of the Eclipse Public License (EPL).
5 
6 #ifndef CoinMessage_H
7 #define CoinMessage_H
8 
9 #if defined(_MSC_VER)
10 // Turn off compiler warning about long names
11 #pragma warning(disable : 4786)
12 #endif
13 
14 /*! \file
15 
16     This file contains the enum for the standard set of Coin messages and a
17     class definition whose sole purpose is to supply a constructor. The text
18     ot the messages is defined in CoinMessage.cpp,
19 
20     CoinMessageHandler.hpp contains the generic facilities for message
21     handling.
22 */
23 
24 #include "CoinMessageHandler.hpp"
25 
26 /*! \brief Symbolic names for the standard set of COIN messages */
27 
28 enum COIN_Message {
29   COIN_MPS_LINE = 0,
30   COIN_MPS_STATS,
31   COIN_MPS_ILLEGAL,
32   COIN_MPS_BADIMAGE,
33   COIN_MPS_DUPOBJ,
34   COIN_MPS_DUPROW,
35   COIN_MPS_NOMATCHROW,
36   COIN_MPS_NOMATCHCOL,
37   COIN_MPS_FILE,
38   COIN_MPS_BADFILE1,
39   COIN_MPS_BADFILE2,
40   COIN_MPS_EOF,
41   COIN_MPS_RETURNING,
42   COIN_MPS_CHANGED,
43   COIN_SOLVER_MPS,
44   COIN_PRESOLVE_COLINFEAS,
45   COIN_PRESOLVE_ROWINFEAS,
46   COIN_PRESOLVE_COLUMNBOUNDA,
47   COIN_PRESOLVE_COLUMNBOUNDB,
48   COIN_PRESOLVE_NONOPTIMAL,
49   COIN_PRESOLVE_STATS,
50   COIN_PRESOLVE_INFEAS,
51   COIN_PRESOLVE_UNBOUND,
52   COIN_PRESOLVE_INFEASUNBOUND,
53   COIN_PRESOLVE_INTEGERMODS,
54   COIN_PRESOLVE_POSTSOLVE,
55   COIN_PRESOLVE_NEEDS_CLEANING,
56   COIN_PRESOLVE_PASS,
57 #if PRESOLVE_DEBUG
58   COIN_PRESOLDBG_FIRSTCHECK,
59   COIN_PRESOLDBG_RCOSTACC,
60   COIN_PRESOLDBG_RCOSTSTAT,
61   COIN_PRESOLDBG_STATSB,
62   COIN_PRESOLDBG_DUALSTAT,
63 #endif
64   COIN_GENERAL_INFO,
65   COIN_GENERAL_INFO2,
66   COIN_GENERAL_WARNING,
67   COIN_DUMMY_END
68 };
69 
70 /*! \class CoinMessage
71     \brief The standard set of Coin messages
72 
73     This class provides convenient access to the standard set of Coin messages.
74     In a nutshell, it's a CoinMessages object with a constructor that
75     preloads the standard Coin messages.
76 */
77 
78 class CoinMessage : public CoinMessages {
79 
80 public:
81   /**@name Constructors etc */
82   //@{
83   /*! \brief Constructor
84 
85     Build a CoinMessages object and load it with the standard set of
86     Coin messages.
87   */
88   CoinMessage(Language language = us_en);
89   //@}
90 };
91 
92 #endif
93 
94 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
95 */
96