1/* $Id: CoinMessage.hpp 1448 2011-06-19 15:34:41Z stefan $ */
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
28enum COIN_Message
29{
30 COIN_MPS_LINE=0,
31 COIN_MPS_STATS,
32 COIN_MPS_ILLEGAL,
33 COIN_MPS_BADIMAGE,
34 COIN_MPS_DUPOBJ,
35 COIN_MPS_DUPROW,
36 COIN_MPS_NOMATCHROW,
37 COIN_MPS_NOMATCHCOL,
38 COIN_MPS_FILE,
39 COIN_MPS_BADFILE1,
40 COIN_MPS_BADFILE2,
41 COIN_MPS_EOF,
42 COIN_MPS_RETURNING,
43 COIN_MPS_CHANGED,
44 COIN_SOLVER_MPS,
45 COIN_PRESOLVE_COLINFEAS,
46 COIN_PRESOLVE_ROWINFEAS,
47 COIN_PRESOLVE_COLUMNBOUNDA,
48 COIN_PRESOLVE_COLUMNBOUNDB,
49 COIN_PRESOLVE_NONOPTIMAL,
50 COIN_PRESOLVE_STATS,
51 COIN_PRESOLVE_INFEAS,
52 COIN_PRESOLVE_UNBOUND,
53 COIN_PRESOLVE_INFEASUNBOUND,
54 COIN_PRESOLVE_INTEGERMODS,
55 COIN_PRESOLVE_POSTSOLVE,
56 COIN_PRESOLVE_NEEDS_CLEANING,
57 COIN_PRESOLVE_PASS,
58# if PRESOLVE_DEBUG
59 COIN_PRESOLDBG_FIRSTCHECK,
60 COIN_PRESOLDBG_RCOSTACC,
61 COIN_PRESOLDBG_RCOSTSTAT,
62 COIN_PRESOLDBG_STATSB,
63 COIN_PRESOLDBG_DUALSTAT,
64# endif
65 COIN_GENERAL_INFO,
66 COIN_GENERAL_WARNING,
67 COIN_DUMMY_END
68};
69
70
71/*! \class CoinMessage
72 \brief The standard set of Coin messages
73
74 This class provides convenient access to the standard set of Coin messages.
75 In a nutshell, it's a CoinMessages object with a constructor that
76 preloads the standard Coin messages.
77*/
78
79class CoinMessage : public CoinMessages {
80
81public:
82
83 /**@name Constructors etc */
84 //@{
85 /*! \brief Constructor
86
87 Build a CoinMessages object and load it with the standard set of
88 Coin messages.
89 */
90 CoinMessage(Language language=us_en);
91 //@}
92
93};
94
95#endif
96