@@ -11,7 +11,19 @@ class SearchProvider:
1111 def __init__(self):
1212 print("ALPACA __init__")
1313 self.connection = Gio.bus_get_sync(Gio.BusType.SESSION, None)
14- self.connection.register_object(DBUS_OBJECT_PATH, self.get_interface_info(), None, self.handle_method_call, None)
14+ if not self.connection:
15+ print("ALPACA Failed to get D-Bus connection")
16+ return
17+
18+ print("ALPACA D-Bus connection obtained")
19+
20+ interface_info = self.get_interface_info()
21+ self.registration_id = self.connection.register_object(DBUS_OBJECT_PATH, interface_info, self.handle_method_call, None)
22+
23+ if self.registration_id > 0:
24+ print(f"ALPACA Object registered with ID: {self.registration_id}")
25+ else:
26+ print("ALPACA Failed to register object")
1527
1628 def get_interface_info(self):
1729 print("ALPACA get_interface_info")
@@ -56,19 +68,19 @@ class SearchProvider:
5668 print("ALPACA handle_get_initial_result_set")
5769 terms = parameters.unpack()[0]
5870 print(f"Initial search terms: {terms}")
59- results = []
71+ results = ["result1", "result2" ]
6072 if "Alpaca" in terms:
61- results.append("placeholder_result ")
73+ results.append("alpaca_placeholder_result ")
6274 print(f"Returning results: {results}")
6375 invocation.return_value(GLib.Variant("(as)", [results]))
6476
6577 def handle_get_subsearch_result_set(self, invocation, parameters):
6678 print("ALPACA handle_get_subsearch_result_set")
6779 previous_results, terms = parameters.unpack()
6880 print(f"Subsearch terms: {terms}, previous results: {previous_results}")
69- results = []
81+ results = ["result3", "result4" ]
7082 if "Alpaca" in terms:
71- results.append("sub_placeholder_result ")
83+ results.append("sub_alpaca_placeholder_result ")
7284 print(f"Returning subsearch results: {results}")
7385 invocation.return_value(GLib.Variant("(as)", [results]))
7486
@@ -91,6 +103,9 @@ class SearchProvider:
91103
92104if __name__ == "__main__":
93105 provider = SearchProvider()
94- loop = GLib.MainLoop()
95- loop.run()
96-
106+ if provider.registration_id > 0:
107+ loop = GLib.MainLoop()
108+ print("ALPACA Running main loop")
109+ loop.run()
110+ else:
111+ print("ALPACA Failed to start main loop due to object registration failure")
0 commit comments