MCPcopy Create free account
hub / github.com/DISTRHO/DPF / query_interface_view

Method query_interface_view

distrho/src/DistrhoUIVST3.cpp:1110–1155  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1108 // v3_funknown
1109
1110 static v3_result V3_API query_interface_view(void* self, const v3_tuid iid, void** iface)
1111 {
1112 dpf_plugin_view* const view = *static_cast<dpf_plugin_view**>(self);
1113
1114 if (v3_tuid_match(iid, v3_funknown_iid) ||
1115 v3_tuid_match(iid, v3_plugin_view_iid))
1116 {
1117 d_debug("query_interface_view => %p %s %p | OK", self, tuid2str(iid), iface);
1118 ++view->refcounter;
1119 *iface = self;
1120 return V3_OK;
1121 }
1122
1123 if (v3_tuid_match(v3_connection_point_iid, iid))
1124 {
1125 d_debug("query_interface_view => %p %s %p | OK convert %p",
1126 self, tuid2str(iid), iface, view->connection.get());
1127
1128 if (view->connection == nullptr)
1129 view->connection = new dpf_ui_connection_point(view->uivst3);
1130 else
1131 ++view->connection->refcounter;
1132 *iface = &view->connection;
1133 return V3_OK;
1134 }
1135
1136 #ifndef DISTRHO_OS_MAC
1137 if (v3_tuid_match(v3_plugin_view_content_scale_iid, iid))
1138 {
1139 d_debug("query_interface_view => %p %s %p | OK convert %p",
1140 self, tuid2str(iid), iface, view->scale.get());
1141
1142 if (view->scale == nullptr)
1143 view->scale = new dpf_plugin_view_content_scale(view->uivst3);
1144 else
1145 ++view->scale->refcounter;
1146 *iface = &view->scale;
1147 return V3_OK;
1148 }
1149 #endif
1150
1151 d_debug("query_interface_view => %p %s %p | WARNING UNSUPPORTED", self, tuid2str(iid), iface);
1152
1153 *iface = nullptr;
1154 return V3_NO_INTERFACE;
1155 }
1156
1157 static uint32_t V3_API ref_view(void* self)
1158 {

Callers

nothing calls this directly

Calls 3

v3_tuid_matchFunction · 0.85
d_debugFunction · 0.85
tuid2strFunction · 0.85

Tested by

no test coverage detected