The position request follows a fairly standard TWS API batch-data protocol of calling a closing "xxxEnd" callback upon completion so it looks like the only thing you need to add is the implementation of ::positionEnd(). An example is available in TWS API docs for position requests.