As with the C API changes, these are made because of new requirements of IPv6. They are not the only way to meet the new requirements. They are changes that meet the requirements and minimize changes to the existing C++ API. Feel free to propose changes to the C++ API, keeping in mind the new requirements.
The only place OCConnectivityType is used in the C++ API is in OCPlatform::findResource and OCPlatform::findDevice. For those methods, only the information from OCTransportFlags is needed since the adapter type is not needed or used for discovery. See the new definition of OCConnectivity in OCConnectivityType.
In the past, a value in the url argument of get, put, etc. methods of OCResource could be used to set the network target of those methods. This was not documented, but it is used in some examples, leading to some confusion for developers. The new C++ API eliminates this capability for two reasons:
Subscribe returns a network address string in its callback function. A string hasn’t been sufficient since the connectivity abstraction arrived, and it is even less so with the arrival of IPv6. The Subscribe capability needs to be rethought from a couple of perspectives, so it wasn’t upgraded in the current C++ API changes.