@@ -574,3 +574,59 @@ NetVConnection::_set_service(enum NetVConnection::Service service, void *instanc
574574{
575575 this ->_services [static_cast <unsigned int >(service)] = instance;
576576}
577+
578+ class ALPNSupport ;
579+ template <>
580+ inline ALPNSupport *
581+ NetVConnection::get_service () const
582+ {
583+ return static_cast <ALPNSupport *>(this ->_get_service (NetVConnection::Service::TLS_ALPN));
584+ }
585+
586+ class TLSBasicSupport ;
587+ template <>
588+ inline TLSBasicSupport *
589+ NetVConnection::get_service () const
590+ {
591+ return static_cast <TLSBasicSupport *>(this ->_get_service (NetVConnection::Service::TLS_Basic));
592+ }
593+
594+ class TLSEarlyDataSupport ;
595+ template <>
596+ inline TLSEarlyDataSupport *
597+ NetVConnection::get_service () const
598+ {
599+ return static_cast <TLSEarlyDataSupport *>(this ->_get_service (NetVConnection::Service::TLS_EarlyData));
600+ }
601+
602+ class TLSCertSwitchSupport ;
603+ template <>
604+ inline TLSCertSwitchSupport *
605+ NetVConnection::get_service () const
606+ {
607+ return static_cast <TLSCertSwitchSupport *>(this ->_get_service (NetVConnection::Service::TLS_CertSwitch));
608+ }
609+
610+ class TLSSNISupport ;
611+ template <>
612+ inline TLSSNISupport *
613+ NetVConnection::get_service () const
614+ {
615+ return static_cast <TLSSNISupport *>(this ->_get_service (NetVConnection::Service::TLS_SNI));
616+ }
617+
618+ class TLSSessionResumptionSupport ;
619+ template <>
620+ inline TLSSessionResumptionSupport *
621+ NetVConnection::get_service () const
622+ {
623+ return static_cast <TLSSessionResumptionSupport *>(this ->_get_service (NetVConnection::Service::TLS_SessionResumption));
624+ }
625+
626+ class TLSTunnelSupport ;
627+ template <>
628+ inline TLSTunnelSupport *
629+ NetVConnection::get_service () const
630+ {
631+ return static_cast <TLSTunnelSupport *>(this ->_get_service (NetVConnection::Service::TLS_Tunnel));
632+ }
0 commit comments