| 977 | } |
| 978 | |
| 979 | class Service final : public RefCntIface<IServiceImpl<Service, CheckStatusWrapper> > |
| 980 | { |
| 981 | public: |
| 982 | // IService implementation |
| 983 | int release() override; |
| 984 | void detach(CheckStatusWrapper* status) override; |
| 985 | void deprecatedDetach(CheckStatusWrapper* status) override; |
| 986 | void query(CheckStatusWrapper* status, |
| 987 | unsigned int sendLength, const unsigned char* sendItems, |
| 988 | unsigned int receiveLength, const unsigned char* receiveItems, |
| 989 | unsigned int bufferLength, unsigned char* buffer) override; |
| 990 | void start(CheckStatusWrapper* status, unsigned int spbLength, const unsigned char* spb) override; |
| 991 | void cancel(CheckStatusWrapper* status) override; |
| 992 | |
| 993 | public: |
| 994 | Service(Rdb* handle) : rdb(handle) { } |
| 995 | |
| 996 | private: |
| 997 | void freeClientData(CheckStatusWrapper* status, bool force = false); |
| 998 | void internalDetach(CheckStatusWrapper* status); |
| 999 | |
| 1000 | Rdb* rdb; |
| 1001 | }; |
| 1002 | |
| 1003 | int Service::release() |
| 1004 | { |