| 202 | typedef AtomicYPtr<YTransaction> AtomicTraPtr; |
| 203 | |
| 204 | class YEvents final : |
| 205 | public YHelper<YEvents, Firebird::IEventsImpl<YEvents, Firebird::CheckStatusWrapper> > |
| 206 | { |
| 207 | public: |
| 208 | static const ISC_STATUS ERROR_CODE = isc_bad_events_handle; |
| 209 | |
| 210 | YEvents(YAttachment* aAttachment, Firebird::IEvents* aNext, Firebird::IEventCallback* aCallback); |
| 211 | |
| 212 | void destroy(unsigned dstrFlags); |
| 213 | FB_API_HANDLE& getHandle(); |
| 214 | |
| 215 | // IEvents implementation |
| 216 | void cancel(Firebird::CheckStatusWrapper* status); |
| 217 | void deprecatedCancel(Firebird::CheckStatusWrapper* status); |
| 218 | |
| 219 | public: |
| 220 | AtomicAttPtr attachment; |
| 221 | Firebird::RefPtr<Firebird::IEventCallback> callback; |
| 222 | |
| 223 | private: |
| 224 | Firebird::AtomicCounter destroyed; |
| 225 | }; |
| 226 | |
| 227 | class YRequest final : |
| 228 | public YHelper<YRequest, Firebird::IRequestImpl<YRequest, Firebird::CheckStatusWrapper> > |