// * This makes emacs happy -*-Mode: C++;-*-
/****************************************************************************
- * Copyright (c) 1998,1999 Free Software Foundation, Inc. *
+ * Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
****************************************************************************/
/****************************************************************************
- * Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1997 *
+ * Author: Juergen Pfeifer, 1997 *
+ * Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en *
****************************************************************************/
-// $Id: etip.h.in,v 1.13 1999/09/12 02:01:59 tom Exp $
+// $Id: etip.h.in,v 1.24 2002/10/12 22:33:07 Dimitar.Zhekov Exp $
-#ifndef _ETIP_H
-#define _ETIP_H
+#ifndef NCURSES_ETIP_H_incl
+#define NCURSES_ETIP_H_incl 1
// These are substituted at configure/build time
#ifndef HAVE_BUILTIN_H
#define HAVE_GPP_BUILTIN_H 0
#endif
+#ifndef HAVE_STRSTREAM_H
+#define HAVE_STRSTREAM_H 0
+#endif
+
#ifndef HAVE_TYPEINFO
#define HAVE_TYPEINFO 0
#endif
#define CPP_HAS_PARAM_INIT 0
#endif
+#ifndef USE_STRSTREAM_VSCAN
+#define USE_STRSTREAM_VSCAN 0
+#endif
+
+#ifndef USE_STRSTREAM_VSCAN_CAST
+#define USE_STRSTREAM_VSCAN_CAST 0
+#endif
+
#ifdef __GNUG__
# if ((__GNUG__ <= 2) && (__GNUC_MINOR__ < 8))
# if HAVE_TYPEINFO
# include <string.h>
#endif
+#include <ncurses_dll.h>
+
extern "C" {
#if HAVE_VALUES_H
# include <values.h>
#endif
// Forward Declarations
-class NCursesPanel;
-class NCursesMenu;
-class NCursesForm;
+class NCURSES_IMPEXP NCursesPanel;
+class NCURSES_IMPEXP NCursesMenu;
+class NCURSES_IMPEXP NCursesForm;
-class NCursesException
+class NCURSES_IMPEXP NCursesException
{
public:
const char *message;
}
};
-class NCursesPanelException : public NCursesException
+class NCURSES_IMPEXP NCursesPanelException : public NCursesException
{
public:
const NCursesPanel* p;
- NCursesPanelException (const char *msg, int err) :
+ NCursesPanelException (const char *msg, int err) :
NCursesException (msg, err),
p ((NCursesPanel*)0)
{};
NCursesPanelException (const NCursesPanel* panel,
const char *msg,
- int err) :
+ int err) :
NCursesException (msg, err),
p (panel)
{};
- NCursesPanelException (int err) :
+ NCursesPanelException (int err) :
NCursesException ("panel library error", err),
p ((NCursesPanel*)0)
{};
NCursesPanelException (const NCursesPanel* panel,
- int err) :
+ int err) :
NCursesException ("panel library error", err),
p (panel)
{};
};
-class NCursesMenuException : public NCursesException
+class NCURSES_IMPEXP NCursesMenuException : public NCursesException
{
public:
const NCursesMenu* m;
- NCursesMenuException (const char *msg, int err) :
+ NCursesMenuException (const char *msg, int err) :
NCursesException (msg, err),
m ((NCursesMenu *)0)
{};
NCursesMenuException (const NCursesMenu* menu,
const char *msg,
- int err) :
+ int err) :
NCursesException (msg, err),
m (menu)
{};
- NCursesMenuException (int err) :
+ NCursesMenuException (int err) :
NCursesException ("menu library error", err),
m ((NCursesMenu *)0)
{};
NCursesMenuException (const NCursesMenu* menu,
- int err) :
+ int err) :
NCursesException ("menu library error", err),
m (menu)
{};
};
-class NCursesFormException : public NCursesException
+class NCURSES_IMPEXP NCursesFormException : public NCursesException
{
public:
const NCursesForm* f;
- NCursesFormException (const char *msg, int err) :
+ NCursesFormException (const char *msg, int err) :
NCursesException (msg, err),
f ((NCursesForm*)0)
{};
NCursesFormException (const NCursesForm* form,
const char *msg,
- int err) :
+ int err) :
NCursesException (msg, err),
f (form)
{};
- NCursesFormException (int err) :
+ NCursesFormException (int err) :
NCursesException ("form library error", err),
f ((NCursesForm*)0)
{};
NCursesFormException (const NCursesForm* form,
- int err) :
+ int err) :
NCursesException ("form library error", err),
f (form)
{};
};
-#if !(defined(__GNUG__)||defined(__SUNPRO_CC))
+#if !((defined(__GNUG__) && defined(__EXCEPTIONS)) || defined(__SUNPRO_CC))
# include <iostream.h>
extern "C" void exit(int);
#endif
inline void THROW(const NCursesException *e) {
-#if defined(__GNUG__)
+#if defined(__GNUG__) && defined(__EXCEPTIONS)
# if ((__GNUG__ <= 2) && (__GNUC_MINOR__ < 8))
(*lib_error_handler)(e?e->classname():"",e?e->message:"");
#else
throw *e;
#endif
#elif defined(__SUNPRO_CC)
+# if !defined(__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT < 5)
genericerror(1, ((e != 0) ? (char *)(e->message) : ""));
+#else
+ throw *e;
+#endif
#else
if (e)
cerr << e->message << endl;
exit(0);
-#endif
+#endif
}
#define THROWS(s)
-#endif // _ETIP_H
+#endif // NCURSES_ETIP_H_incl