00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_IUTIL_BINDER_H__
00020 #define __CS_IUTIL_BINDER_H__
00021
00022 #include <csutil/scf.h>
00023
00024 struct iEvent;
00025 struct iEventHandler;
00026
00027 SCF_VERSION (iInputBinderPosition, 0, 0, 1);
00028
00032 struct iInputBinderPosition : public iBase
00033 {
00035 virtual void Set (int) = 0;
00037 virtual int Get () const = 0;
00038 };
00039
00040 SCF_VERSION (iInputBinderBoolean, 0, 0, 1);
00041
00046 struct iInputBinderBoolean : public iBase
00047 {
00049 virtual void Set (bool) = 0;
00051 virtual bool Get () const = 0;
00052 };
00053
00054 SCF_VERSION (iInputBinder, 0, 0, 1);
00055
00060 struct iInputBinder : public iBase
00061 {
00067 virtual iEventHandler* QueryHandler () = 0;
00068
00074 virtual void Bind (iEvent&, iInputBinderBoolean*, bool toggle = false) = 0;
00075
00079 virtual void Bind (iEvent&, iInputBinderPosition*) = 0;
00080
00084 virtual bool Unbind (iEvent&) = 0;
00085
00089 virtual bool UnbindAll() = 0;
00090 };
00091
00092 #endif // __CS_IUTIL_BINDER_H__