Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
None
-
None
Description
(See API proposal in QPID-664)
Currently the C++ client API is like this:
Connection myConnection;
myConnection.open(...);
Channel myChannel;
myConnection.openChannel(myChannel);
myChannel.dostuff...
I would like to change it to be like this:
Connection::shared_ptr myConnection = Connection::open(...);
Channel::shared_ptr myChannel = myConnection->openChannel(...channel args);
myChannel->dostuff...
There are two problems with the current approach:
- constructor creates "lame" objects, need an open() call to make them
useful. - Letting user call constructor directly means we can't change the
implementation class, whereas the second approach allows us to return
anything inheriting from the user-visible class.
Attachments
Issue Links
- duplicates
-
QPID-664 High-level C++ client API.
- Closed