summaryrefslogtreecommitdiff
path: root/cpp/include/Ice/Application.h
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2002-09-01 21:21:05 +0000
committerMarc Laukien <marc@zeroc.com>2002-09-01 21:21:05 +0000
commit31b064d4e4f55aadb9f03ab66ac59a94d82adfb6 (patch)
treec9e86b395f9c2c45e8205ae8ab99d3c5cbe6b838 /cpp/include/Ice/Application.h
parentcleaning up empty identity handling (diff)
downloadice-31b064d4e4f55aadb9f03ab66ac59a94d82adfb6.tar.bz2
ice-31b064d4e4f55aadb9f03ab66ac59a94d82adfb6.tar.xz
ice-31b064d4e4f55aadb9f03ab66ac59a94d82adfb6.zip
IcePatch work
Diffstat (limited to 'cpp/include/Ice/Application.h')
-rw-r--r--cpp/include/Ice/Application.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/cpp/include/Ice/Application.h b/cpp/include/Ice/Application.h
index 4a05124fff8..45686caae85 100644
--- a/cpp/include/Ice/Application.h
+++ b/cpp/include/Ice/Application.h
@@ -16,6 +16,12 @@
namespace Ice
{
+#ifdef _WIN32
+BOOL WINAPI interruptHandler(DWORD);
+#else
+void interruptHandler(int);
+#endif
+
class ICE_API Application : public IceUtil::noncopyable
{
public:
@@ -59,10 +65,23 @@ public:
static void ignoreInterrupt();
static void defaultInterrupt();
+ //
+ // Return true if communicator()->shutdown() has been called
+ // because of an interrupt.
+ //
+ static bool isShutdownFromInterrupt();
+
private:
static const char* _appName;
static CommunicatorPtr _communicator;
+ static bool _shutdown;
+
+#ifdef _WIN32
+ friend BOOL WINAPI interruptHandler(DWORD);
+#else
+ friend void interruptHandler(int);
+#endif
};
};