// Skeleton constructor takes an InstanceIdentifier
// and registers the service with Communication Management
TemperatureServiceSkeleton skel(
ara::core::InstanceSpecifier{
"SensorApp/TemperatureServiceInterface/Instance0"});
// OfferService() triggers SOME/IP-SD Offer; returns immediately
skel.OfferService();
// StopOfferService() sends SD StopOffer and unregisters
// Called automatically by destructor if not called explicitly
skel.StopOfferService();
💡 Skeleton Destructor
The AUTOSAR AP spec requires that StopOfferService() is called before the skeleton is destroyed. Most implementations call it automatically in the destructor as a safety net, but relying on this in production code is bad practice — always call it explicitly before ara::core::Deinitialize().