Limitations on Carbon plugins in Cocoa app? (was Re: [LONG] Making the right choice)
Limitations on Carbon plugins in Cocoa app? (was Re: [LONG] Making the right choice)
- Subject: Limitations on Carbon plugins in Cocoa app? (was Re: [LONG] Making the right choice)
- From: David Niemeijer <email@hidden>
- Date: Sun, 27 Jan 2002 21:48:02 +0100
Kurt,
1) Can I call Carbon from an Obj-C, Obj-C++, C, or C++ file that is
part of a Cocoa application
Yes.
If so, what special steps need to be taken?
Nothing, just call whatever Carbon functions you like. There really
is nothing to it when accessing low-level Carbon functionality.
Displaying Carbon UI controls, or interacting with the Carbon event
loop, is much more difficult (and depending on what you're doing it
may be impossible) -- but you don't typically need to do this in
Cocoa.
2) Can I, from a cocoa application, easily access a plug-in or
shared library containing Carbon based code? If so, what special
steps need to be taken?
If the Carbon plugin uses CFBundle or CFPlugIn, or if it's just a
plain old shared library, this will work pretty easily and should
not be a problem. But again, it depends on what the plugin or
shared lib is doing. It will be running in a Cocoa app, so if it
tries to use Carbon to display UI, it will have problems.
So, do I understand correctly that a Cocoa application that works
with plugins would require these to be Cocoa as soon as they need to
do any UI stuff such as put up a dialog requesting some user input or
drawing to their own (or my Cocoa window?). Such a dialog would not
be able to work with Carbon events? In other words, when I choose
Cocoa I am forcing plugin developers who want to do plugins for my
application to use Cocoa as well (unless they are "faceless" plugins)?
David.