[MacRuby-devel] are framework extern variables visible in Mac Ruby? (was: Re: how to access OpenDirectory C constants from MacRuby?)

Laurent Sansonetti lsansonetti at apple.com
Fri Apr 9 17:21:18 PDT 2010


Hi Russell,

Sorry for the late response.

OpenDirectory.framework ships with BridgeSupport annotations, so doing "framework 'OpenDirectory'" should merge all symbols into MacRuby. If some are missing, it's likely a bug in the BridgeSupport generator, that should be reported via http://bugreport.apple.com. 

Fortunately, we are working on a new BridgeSupport generator which might already fix this issue, but it's not ready yet for prime time. In the meantime I recommend to wrap the symbols/APIs you need inside an Objective-C class and call it from MacRuby.

Laurent

On Apr 7, 2010, at 6:32 PM, russell muetzelfeldt wrote:

> On 07/04/2010, at 5:56 PM, russell muetzelfeldt wrote:
>> /*!
>>   @const              kODRecordTypeUsers
>>   @abstract   Identifies user records.
>>   @discussion Identifies user records.
>> */
>> CF_EXPORT
>> const ODRecordType kODRecordTypeUsers;
>> 
>> 
>> which I assume is a CF_EXPORT macro doing some preprocessor magic to fill in a value for kODRecordTypeUsers... does anyone know how to work out the actual value of this constant (and others defined in the same way)?
> 
> turns out these items aren't actually constants but are rather static variables defined in the framework dylib objects - for example, kODAttributeTypeUniqueID is actually an NSString pointer referencing a static @"dsAttrTypeStandard:UniqueID" in CFOpenDirectory.framework/Versions/A/CFOpenDirectory
> 
> is there any way in MacRuby to access these variables defined in a loaded framework?
> 
> 
> cheers
> 
> Russell
> 
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel



More information about the MacRuby-devel mailing list