Skip to content

Commit 8aba823

Browse files
Allow services to be created with custom transport
1 parent 1d22a96 commit 8aba823

File tree

1 file changed

+31
-26
lines changed

1 file changed

+31
-26
lines changed

onvif/client.py

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -305,20 +305,23 @@ def get_definition(self, name, portType=None):
305305

306306
return xaddr, wsdlpath, binding_name
307307

308-
def create_onvif_service(self, name, from_template=True, portType=None):
308+
def create_onvif_service(self, name, from_template=True, portType=None, transport=None):
309309
'''Create ONVIF service client'''
310310

311311
name = name.lower()
312312
xaddr, wsdl_file, binding_name = self.get_definition(name, portType)
313313

314314
with self.services_lock:
315+
if not transport:
316+
transport = self.transport
317+
315318
service = ONVIFService(xaddr, self.user, self.passwd,
316319
wsdl_file, self.encrypt,
317320
self.daemon, no_cache=self.no_cache,
318321
portType=portType,
319322
dt_diff=self.dt_diff,
320323
binding_name=binding_name,
321-
transport=self.transport)
324+
transport=transport)
322325

323326
self.services[name] = service
324327

@@ -328,39 +331,41 @@ def create_onvif_service(self, name, from_template=True, portType=None):
328331

329332
return service
330333

331-
def create_devicemgmt_service(self, from_template=True):
334+
def create_devicemgmt_service(self, from_template=True, transport=None):
332335
# The entry point for devicemgmt service is fixed.
333-
return self.create_onvif_service('devicemgmt', from_template)
336+
return self.create_onvif_service('devicemgmt', from_template, transport=transport)
334337

335-
def create_media_service(self, from_template=True):
336-
return self.create_onvif_service('media', from_template)
338+
def create_media_service(self, from_template=True, transport=None):
339+
return self.create_onvif_service('media', from_template, transport=transport)
337340

338-
def create_ptz_service(self, from_template=True):
339-
return self.create_onvif_service('ptz', from_template)
341+
def create_ptz_service(self, from_template=True, transport=None):
342+
return self.create_onvif_service('ptz', from_template, transport=transport)
340343

341-
def create_imaging_service(self, from_template=True):
342-
return self.create_onvif_service('imaging', from_template)
344+
def create_imaging_service(self, from_template=True, transport=None):
345+
return self.create_onvif_service('imaging', from_template, transport=transport)
343346

344-
def create_deviceio_service(self, from_template=True):
345-
return self.create_onvif_service('deviceio', from_template)
347+
def create_deviceio_service(self, from_template=True, transport=None):
348+
return self.create_onvif_service('deviceio', from_template, transport=transport)
346349

347-
def create_events_service(self, from_template=True):
348-
return self.create_onvif_service('events', from_template)
350+
def create_events_service(self, from_template=True, transport=None):
351+
return self.create_onvif_service('events', from_template, transport=transport)
349352

350-
def create_analytics_service(self, from_template=True):
351-
return self.create_onvif_service('analytics', from_template)
353+
def create_analytics_service(self, from_template=True, transport=None):
354+
return self.create_onvif_service('analytics', from_template, transport=transport)
352355

353-
def create_recording_service(self, from_template=True):
354-
return self.create_onvif_service('recording', from_template)
356+
def create_recording_service(self, from_template=True, transport=None):
357+
return self.create_onvif_service('recording', from_template, transport=transport)
355358

356-
def create_search_service(self, from_template=True):
357-
return self.create_onvif_service('search', from_template)
359+
def create_search_service(self, from_template=True, transport=None):
360+
return self.create_onvif_service('search', from_template, transport=transport)
358361

359-
def create_replay_service(self, from_template=True):
360-
return self.create_onvif_service('replay', from_template)
362+
def create_replay_service(self, from_template=True, transport=None):
363+
return self.create_onvif_service('replay', from_template, transport=transport)
361364

362-
def create_pullpoint_service(self, from_template=True):
363-
return self.create_onvif_service('pullpoint', from_template, portType='PullPointSubscription')
365+
def create_pullpoint_service(self, from_template=True, transport=None):
366+
return self.create_onvif_service('pullpoint', from_template,
367+
portType='PullPointSubscription',
368+
transport=transport)
364369

365-
def create_receiver_service(self, from_template=True):
366-
return self.create_onvif_service('receiver', from_template)
370+
def create_receiver_service(self, from_template=True, transport=None):
371+
return self.create_onvif_service('receiver', from_template, transport=transport)

0 commit comments

Comments
 (0)