OSA modernization and scope
OSA modernization and scope
- Subject: OSA modernization and scope
- From: Philip Aker <email@hidden>
- Date: Sun, 21 Dec 2008 05:47:51 -0800
On 2008-12-20, at 10:58:54, has wrote:
However the benefits would be extraordinary considering that the
result would be a small but extensible 'class' system expressible
in C -- that means deployment possibilities on all major platforms
and adaptability to most object-oriented languages.
Bear in mind that Apple have a vested interest in *not* making their
exclusive technologies easily reproducible on other major platforms.
So if that's what you're after then better get cracking on it
yourself as I can't see Apple ever touching it. :)
I'll have more to say about the other comments in your post later but
I'd like to clarify this item.
1. The OSA design is not an Apple-only technology: <http://www.edm2.com/index.php/OS2_API:OSA
>. It just happens to be only implementation still standing.
2. What I'm saying is to put the public interface in CoreFoundation
("the design") but put the implementation at the lowest level Apple
can handle without exposing technologies it wishes to remain private.
This policy is already in use. For example in CFURL.h:
#ifndef CF_OPEN_SOURCE
#if defined(__MACH__)
struct FSRef;
CF_EXPORT
CFURLRef CFURLCreateFromFSRef(CFAllocatorRef allocator, const struct
FSRef *fsRef);
CF_EXPORT
Boolean CFURLGetFSRef(CFURLRef url, struct FSRef *fsRef);
#endif
#endif
Similarly in CFPluginCOM.h (which isn't even imported in a normal
CoreFoundation include) where the interface isn't usable for
Contextual Menu Plugins unless you have certain defines that are only
available in Menus.h (Carbon layer).
Also in CFRunLoop.h where we see:
#if defined(__MACH__)
mach_port_t (*getPort)(void *info);
void * (*perform)(void *msg, CFIndex size, CFAllocatorRef
allocator, void *info);
#else
HANDLE (*getPort)(void *info);
void (*perform)(void *info);
#endif
Other platforms necessarily must implement certain portions of the
CoreFoundation design themselves in order for it to be useful on their
machines. But the important thing is to follow the design.
ยง
So the goal, as far as I'm concerned is to modernize the OSA design so
that it can be expressed in CoreFoundation terms and thus leave itself
to truly be an "Open Scripting Architecture" because 95% of
CoreFoundation is open source.
Philip Aker
echo email@hidden@nl | tr a-z@. p-za-o.@
Democracy: Two wolves and a sheep voting on lunch.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
AppleScript-Users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
Archives: http://lists.apple.com/archives/applescript-users
This email sent to email@hidden