1 class CommitCallbacks {
4 PatchMessageReportReceiver _messageReceiver;
5 PatchScriptReportReceiver _scriptReceiver;
6 RemoveResolvableReportReceiver _installReceiver;
7 InstallResolvableReportReceiver _removeReceiver;
12 : _instance(Target_Null)
14 _messageReceiver.connect();
15 _scriptReceiver.connect();
16 _installReceiver.connect();
17 _removeReceiver.connect();
22 _removeReceiver.disconnect();
23 _installReceiver.disconnect();
24 _scriptReceiver.disconnect();
25 _messageReceiver.disconnect();
29 * Connect callback to receiver instance
30 * Pass NULL receiver to disconnect
33 void connect(Target_Type instance) {
37 Target_INCREF(_instance);
38 _messageReceiver.instance = _instance;
39 _scriptReceiver.instance = _instance;
40 _installReceiver.instance = _instance;
41 _removeReceiver.instance = _instance;
45 * Disconnect receiver instance
49 if (_instance != Target_Null) {
50 _messageReceiver.instance = Target_Null;
51 _scriptReceiver.instance = Target_Null;
52 _installReceiver.instance = Target_Null;
53 _removeReceiver.instance = Target_Null;
54 Target_DECREF(_instance);
55 _instance = Target_Null;
59 * Get current receiver instance
62 Target_Type receiver() {