xref: /aoo41x/main/desktop/source/inc/exithelper.hxx (revision cdf0e10c)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef _DESKTOP_EXITHELPER_HXX_
29 #define _DESKTOP_EXITHELPER_HXX_
30 
31 namespace desktop
32 {
33 
34 //=============================================================================
35 /** @short  provide helper functions to handle a abnormal exit
36             and contain a list of all "well known" exit codes.
37  */
38 class ExitHelper
39 {
40     //-------------------------------------------------------------------------
41     // const
42     public:
43 
44         //---------------------------------------------------------------------
45         /** @short  list of all well known exit codes.
46 
47             @descr  Its not allowed to use exit codes hard coded
48                     inside office. All places must use these list to
49                     be synchron.
50          */
51         enum EExitCodes
52         {
53             /// e.g. used to force showing of the command line help
54             E_NO_ERROR = 0,
55             /// pipe was detected - second office must terminate itself
56             E_SECOND_OFFICE = 1,
57             /// an uno exception was catched during startup
58             E_FATAL_ERROR = 333,    // Only the low 8 bits are significant 333 % 256 = 77
59             /// user force automatic restart after crash
60             E_CRASH_WITH_RESTART = 79,
61             /// the office restarts itself
62             E_NORMAL_RESTART = 81
63         };
64 };
65 
66 } // namespace desktop
67 
68 #endif // #ifndef _DESKTOP_EXITHELPER_HXX_
69