45 #include "CACFMessagePort.h"
46 #include "CADebugMacros.h"
47 #include "CAException.h"
53 CACFLocalMessagePort::CACFLocalMessagePort(CFStringRef inName, CFMessagePortCallBack inPortCallBack, CFMessagePortInvalidationCallBack inInvalidationCallBack,
void* inUserData)
59 CFMessagePortContext theContext = { 0, inUserData, NULL, NULL, NULL };
60 mMessagePort = CFMessagePortCreateLocal(NULL, inName, inPortCallBack, &theContext, NULL);
61 if(mMessagePort != NULL)
64 if(inInvalidationCallBack != NULL)
66 CFMessagePortSetInvalidationCallBack(mMessagePort, inInvalidationCallBack);
70 mRunLoopSource = CFMessagePortCreateRunLoopSource(NULL, mMessagePort, 0);
74 CACFLocalMessagePort::~CACFLocalMessagePort()
76 if(mMessagePort != NULL)
78 CFMessagePortInvalidate(mMessagePort);
79 CFRelease(mMessagePort);
82 if(mRunLoopSource != NULL)
84 CFRelease(mRunLoopSource);
92 CACFRemoteMessagePort::CACFRemoteMessagePort(CFStringRef inName, CFMessagePortInvalidationCallBack inInvalidationCallBack)
98 mMessagePort = CFMessagePortCreateRemote(NULL, inName);
99 if(mMessagePort != NULL)
107 if(inInvalidationCallBack != NULL)
109 CFMessagePortSetInvalidationCallBack(mMessagePort, inInvalidationCallBack);
113 mRunLoopSource = CFMessagePortCreateRunLoopSource(NULL, mMessagePort, 0);
117 CACFRemoteMessagePort::~CACFRemoteMessagePort()
119 if(mMessagePort != NULL)
122 CFRelease(mMessagePort);
125 if(mRunLoopSource != NULL)
127 CFRelease(mRunLoopSource);