| 50 | |
| 51 | template<class CallbackType> |
| 52 | class Callback |
| 53 | : |
| 54 | public CallbackRegistry<CallbackType>::link |
| 55 | { |
| 56 | // Private data |
| 57 | |
| 58 | //- CallbackRegistry reference |
| 59 | CallbackRegistry<CallbackType>& cbr_; |
| 60 | |
| 61 | |
| 62 | // Private Member Functions |
| 63 | |
| 64 | //- Disallow default bitwise assignment |
| 65 | void operator=(const Callback<CallbackType>&); |
| 66 | |
| 67 | |
| 68 | public: |
| 69 | |
| 70 | // Constructors |
| 71 | |
| 72 | //- Construct and register with CallbackRegistry |
| 73 | Callback(CallbackRegistry<CallbackType>&); |
| 74 | |
| 75 | //- Construct as copy |
| 76 | Callback(const Callback<CallbackType>&); |
| 77 | |
| 78 | |
| 79 | //- Destructor |
| 80 | virtual ~Callback(); |
| 81 | |
| 82 | |
| 83 | // Member functions |
| 84 | |
| 85 | // Registration |
| 86 | |
| 87 | //- Register Callback with CallbackRegistry |
| 88 | bool checkIn(); |
| 89 | |
| 90 | //- Check-out Callback from CallbackRegistry |
| 91 | bool checkOut(); |
| 92 | }; |
| 93 | |
| 94 | |
| 95 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // |