Hey Shaun, On Sun, Oct 24, 2010 at 1:14 AM, Shaun August <sh...@eoslightmedia.com>wrote:
> Hi Again, > > I have spent some time with Nick's tutorial and I am looking into wrapping > the framework I have been provided with and I have a few more questions. > > The framework I am working with is already compiled and not in an xcode > file. I am guessing all I need to do is write the Objective-C wrapper? > Yeah, all you have to worry about, is writing the wrapper, as it is what I did with my code writing for my wrapper. > The other issue I am having is the framework only contains one header file > which links out to a series of files contained in a system extension. > The header file, is all you need to import, as it should define all public API Access you need, including structs, to interface with the binary library. > Am I able to write my wrapper in an Objective-C class from within my > macruby application or do I need to create a bundle and import that into my > project. > You will need to write Pure Objective-C code for the API Access, but the code can be included with your macruby application, in the project itself. What will happen, is when you compile the main Objective C File, Main.m, it'll compile all the other Objective C files into the binary executable, that will eventually run your rb_main.rb file. It'll give all the access of your Objective C libraries that you wrote, right within your application. hth, Mario > Thanks, > > Shaun > > > > > On 2010-10-19, at 10:12 PM, Mario Steele wrote: > > Hello Shaun, > > On Wed, Oct 20, 2010 at 12:00 AM, Shaun August <sh...@eoslightmedia.com>wrote: > >> Hi Robert, >> >> Thanks! That make sense. All those cocoa classes have capitals and they >> work fine. I seem to be able to call from the framework but I am running >> into an undefined method 'extern'. I have also read somewhere that extern >> doesn't work with MacRuby. Is that correct? The framework I am dealing with >> is calling C functions and I am having trouble accessing them. >> > > extern is a macro for the ld library, to export an API Address in the > Dynamic library, that can be access dynamically at run time. With > Objective-C, or more so specifically with MacRuby, you need to write a sort > of thin wrapper around C Functions in Objective C, in order to access said > Functions. So if the framework that you are working with, doesn't expose > Objective C API Functions, you'll need to write a thin wrapper in order to > access them. See the tutorial done by Nick Ludlam about wrapping the TagLib > C Library, in Objective C. You can find it here: > http://www.macruby.org/documentation/reading-an-mp3-with-macruby.html It's > best to read through the entire article, as it gives you information about > wrapping C Functions in Objective C, which is quite useful, when writing > your own wrapper. > > hth, > > Mario > > >> Thanks, >> >> Shaun >> >> >> On 2010-10-19, at 8:26 PM, Robert Rice wrote: >> >> > Hi Shaun: >> > >> > Lower case method names is only a convention. MacRuby will work fine >> using upper case, i.e., constant, method names. >> > I know because I only recently changed my project to conform to the >> convention. >> > >> > Bob Rice >> > >> > >> > On Oct 19, 2010, at 7:17 PM, Shaun August wrote: >> > >> >> Hi There, >> >> >> >> I am attempting to work with a framework provided by a USB device >> manufacturer and all of their method names start with capitols and I am >> wondering about the easiest way to access these methods through macruby. I >> remember reading somewhere about fixing the constants in Obj-C but I cannot >> locate the information. >> >> >> >> Does anyone have any suggestions as to how to remedy this? Should I >> rename every command in the framework? >> >> >> >> Thanks, >> >> >> >> Shaun >> >> >> >> _______________________________________________ >> >> MacRuby-devel mailing list >> >> MacRuby-devel@lists.macosforge.org >> >> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >> >> >> > >> > _______________________________________________ >> > MacRuby-devel mailing list >> > MacRuby-devel@lists.macosforge.org >> > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >> >> _______________________________________________ >> MacRuby-devel mailing list >> MacRuby-devel@lists.macosforge.org >> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >> > > > > -- > Mario Steele > Lieutenant Commander 3 > XO - Geo 99 > XO - STO IFT Fleet > http://www.trekfederation.com > http://geo99.ruby-im.net > > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel > > > > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel > > -- Mario Steele Lieutenant Commander 3 XO - Geo 99 XO - STO IFT Fleet http://www.trekfederation.com http://geo99.ruby-im.net
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel