The relevant part of the declaration for TShapeListDispatcher appears below.
class TShapeListDispatcher: public MRemoteDispatcher, public MRemoteDispatcherNotifier { public: TShapeListDispatcher(); virtual ~TShapeListDispatcher(); void FwdAddRemoteInterest(TStream& args, TStream& results); void FwdRemoveRemoteInterest(TStream& args, TStream& results); void HandleAdoptShape(TStream& args, TStream& results); void HandleOrphanShape(TStream& args, TStream& results); / ... };
TShapeListDispatcher::TShapeListDispatcher() : MRemoteDispatcher(), MRemoteDispatcherNotifier() { static RequestEntry notifierRequests[] = { {MRemoteCallerNotifier::kAddRemoteInterest, (RemoteFnPtr)&TShapeListDispatcher::FwdAddRemoteInterest}, {MRemoteCallerNotifier::kRemoveRemoteInterest, (RemoteFnPtr)&TShapeListDispatcher::FwdRemoveRemoteInterest}, {MRemoteCaller::kUnknownRequest} }; RegisterRequests(TStandardText("MRemoteDispatcherNotifier"), MRemoteCallerNotifier::kLastRequest, notifierRequests); static RequestEntry shapeListRequests[] = { {TShapeListCaller::kAdoptShape, (RemoteFnPtr)&TShapeListDispatcher::HandleAdoptShape}, {TShapeListCaller::kOrphanShape, (RemoteFnPtr)&TShapeListDispatcher::HandleOrphanShape}, {MRemoteCaller::kUnknownRequest} }; RegisterRequests(TStandardText("TShapeListDispatcher"), TShapeListDispatcher::kLastRequest, shapeListRequests); }
TShapeListDispatcher::FwdAddRemoteInterest(TStream& args, TStream& results) { AddRemoteInterest(args, results); ReturnSuccess(results); }
TShapeListDispatcher::FwdRemoveRemoteInterest(TStream& args, TStream& results) { RemoveRemoteInterest(args, results); ReturnSuccess(results); }