aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/api/wnd/popexitcb.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Wasabi/api/wnd/popexitcb.h')
-rw-r--r--Src/Wasabi/api/wnd/popexitcb.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/Src/Wasabi/api/wnd/popexitcb.h b/Src/Wasabi/api/wnd/popexitcb.h
new file mode 100644
index 00000000..bbd9de0d
--- /dev/null
+++ b/Src/Wasabi/api/wnd/popexitcb.h
@@ -0,0 +1,40 @@
+#ifndef _POPUPCB_H
+#define _POPUPCB_H
+
+#include <bfc/common.h>
+#include <bfc/dispatch.h>
+
+class ifc_dependent;
+
+class PopupExitCallback : public Dispatchable {
+ public:
+
+ int popupexitcb_onExitPopup();
+ ifc_dependent *popupexit_getDependencyPtr();
+
+ enum {
+ POPUPEXIT_ONEXITPOPUP=100,
+ POPUPEXIT_GETDEPENDENCYPTR=110,
+ };
+};
+
+inline int PopupExitCallback::popupexitcb_onExitPopup() {
+ return _call(POPUPEXIT_ONEXITPOPUP, 0);
+}
+
+inline ifc_dependent *PopupExitCallback::popupexit_getDependencyPtr() {
+ return _call(POPUPEXIT_GETDEPENDENCYPTR, (ifc_dependent *)NULL);
+}
+
+class PopupExitCallbackI : public PopupExitCallback {
+ public:
+
+ virtual int popupexitcb_onExitPopup()=0;
+ virtual ifc_dependent *popupexit_getDependencyPtr()=0;
+
+ protected:
+
+ RECVS_DISPATCH;
+};
+
+#endif