#include <vector>
#include <iostream>
typedef void* SESSION; // Or whatever it is
typedef void* DELIVERY_MODE; // You didn't say what these are
typedef void* (*Func) (SESSION, DELIVERY_MODE, DELIVERY_MODE);
typedef std::vector<Func> FuncVector;
FuncVector f_callbackVector;
FuncVector::iterator f_callbackVectorIterator = f_callbackVector.begin();
void* handleDeliveryModeChange
(
SESSION s,
const DELIVERY_MODE d1,
const DELIVERY_MODE d2
)
{
if ((*f_callbackVectorIterator) == &handleDeliveryModeChange)
{
std::cout << "\n\n\n\nWOW\n\n\n\n";
}
}
int main()
{
f_callbackVector.push_back(handleDeliveryModeChange);
}
ICAgICNpbmNsdWRlIDx2ZWN0b3I+CiAgICAjaW5jbHVkZSA8aW9zdHJlYW0+CiAgICAgCiAgICB0eXBlZGVmIHZvaWQqIFNFU1NJT047ICAgICAgIC8vIE9yIHdoYXRldmVyIGl0IGlzCiAgICB0eXBlZGVmIHZvaWQqIERFTElWRVJZX01PREU7IC8vIFlvdSBkaWRuJ3Qgc2F5IHdoYXQgdGhlc2UgYXJlCiAgICB0eXBlZGVmIHZvaWQqICgqRnVuYykgKFNFU1NJT04sIERFTElWRVJZX01PREUsIERFTElWRVJZX01PREUpOwogICAgdHlwZWRlZiBzdGQ6OnZlY3RvcjxGdW5jPiBGdW5jVmVjdG9yOwogICAgCiAgICBGdW5jVmVjdG9yIGZfY2FsbGJhY2tWZWN0b3I7CiAgICBGdW5jVmVjdG9yOjppdGVyYXRvciBmX2NhbGxiYWNrVmVjdG9ySXRlcmF0b3IgPSBmX2NhbGxiYWNrVmVjdG9yLmJlZ2luKCk7CiAgICAgCiAgICB2b2lkKiBoYW5kbGVEZWxpdmVyeU1vZGVDaGFuZ2UKICAgICgKICAgICAgU0VTU0lPTiBzLAogICAgICBjb25zdCBERUxJVkVSWV9NT0RFIGQxLAogICAgICBjb25zdCBERUxJVkVSWV9NT0RFIGQyCiAgICApCiAgICB7CiAgICAgIGlmICgoKmZfY2FsbGJhY2tWZWN0b3JJdGVyYXRvcikgPT0gJmhhbmRsZURlbGl2ZXJ5TW9kZUNoYW5nZSkKICAgICAgewogICAgICAgIHN0ZDo6Y291dCA8PCAiXG5cblxuXG5XT1dcblxuXG5cbiI7CiAgICAgIH0KICAgIH0KICAgICAKICAgIGludCBtYWluKCkKICAgIHsKICAgICAKICAgICAgZl9jYWxsYmFja1ZlY3Rvci5wdXNoX2JhY2soaGFuZGxlRGVsaXZlcnlNb2RlQ2hhbmdlKTsKICAgIH0=