下記ソース FlashRuntimeExtensions.hをインクルードします。
このファイルはFlashBuilder4.6のincludeディレクトリにあります。
例)/Applications/Adobe Flash Builder 4.6/sdks/air3_3/include
HelloWorldANE.h
一行目の表示は#import <Foundation/Foundation.h>になります。
#importHelloWorldANE.m#import "FlashRuntimeExtensions.h" @interface HelloWorldANE : NSObject @end FREObject GetHelloWorld( FREContext ctx, void* funcData, uint32_t argc, FREObject arg[] ); void ContextInitializer( void* extData, const uint8_t* ctxType, FREContext ctx, uint32_t* numFunctionsToTest, const FRENamedFunction** functionsToSet ); void ContextFinalizer(FREContext ctx); void ExtInitializer( void** extDataToSet, FREContextInitializer* ctxInitializerToSet, FREContextFinalizer* ctxFinalizerToSet ); void ExtFinalizer(void* extData);
#import "FlashRuntimeExtensions.h"
#import "HelloWorldANE.h"
@implementation HelloWorldANE
- (id)init
{
self = [super init];
if (self) {
// Initialization code here.
}
return self;
}
@end
FREObject GetHelloWorld(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[]) {
const char *str = "HelloWorld";
FREObject retStr;
FRENewObjectFromUTF8(strlen(str)+1, (const uint8_t *)str, &retStr);
return retStr;
}
void ContextInitializer(void* extData, const uint8_t* ctxType, FREContext ctx,
uint32_t* numFunctionsToTest, const FRENamedFunction** functionsToSet) {
*numFunctionsToTest = 1;
FRENamedFunction* func = (FRENamedFunction*)malloc(sizeof(FRENamedFunction)*1);
func[0].name = (const uint8_t*)"GetHelloWorld";
func[0].functionData = NULL;
func[0].function = &GetHelloWorld;
*functionsToSet = func;
}
void ContextFinalizer(FREContext ctx) {
return;
}
void ExtInitializer(void** extDataToSet, FREContextInitializer* ctxInitializerToSet,
FREContextFinalizer* ctxFinalizerToSet) {
*extDataToSet = NULL;
*ctxInitializerToSet = &ContextInitializer;
*ctxFinalizerToSet = &ContextFinalizer;
}
void ExtFinalizer(void* extData) {
return;
}
0 件のコメント:
コメントを投稿