Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

Commit eaacc3f

Browse files
Merge pull request #3 from runrevsebastien/feature-lcidlc_CF_types
[[ LCIDLC CF types ]] Added non-releasing CF* types as input parameter f...
2 parents 995ca15 + 6a9315b commit eaacc3f

File tree

3 files changed

+35
-0
lines changed

3 files changed

+35
-0
lines changed

engine/src/externalv1.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,13 @@ enum
124124
// SN-2015-01-19: [[ Bug 14057 ]] Added forgotten C-char value type
125125
kMCExternalValueOptionAsCChar = 22,
126126

127+
// SN-2015-02-13:[[ Bug 14057 ]] Added CF-types (non-releasing)
128+
kMCExternalValueOptionAsCFNumber = 23,
129+
kMCExternalValueOptionAsCFString = 24,
130+
kMCExternalValueOptionAsCFData = 25,
131+
kMCExternalValueOptionAsCFArray = 26,
132+
kMCExternalValueOptionAsCFDictionary = 27,
133+
127134
kMCExternalValueOptionCaseSensitiveMask = 3 << 30,
128135
kMCExternalValueOptionDefaultCaseSensitive = 0 << 30,
129136
kMCExternalValueOptionCaseSensitive = 1 << 30,
@@ -2178,6 +2185,7 @@ static MCExternalError MCExternalVariableFetch(MCExternalVariableRef var, MCExte
21782185
}
21792186
#ifdef __HAS_CORE_FOUNDATION__
21802187
case kMCExternalValueOptionAsNSNumber:
2188+
case kMCExternalValueOptionAsCFNumber:
21812189
{
21822190
CFNumberRef t_number;
21832191
real64_t t_real;
@@ -2195,6 +2203,7 @@ static MCExternalError MCExternalVariableFetch(MCExternalVariableRef var, MCExte
21952203
break;
21962204
}
21972205
case kMCExternalValueOptionAsNSString:
2206+
case kMCExternalValueOptionAsCFString:
21982207
{
21992208
MCAutoStringRef t_stringref;
22002209

@@ -2211,6 +2220,7 @@ static MCExternalError MCExternalVariableFetch(MCExternalVariableRef var, MCExte
22112220
break;
22122221
}
22132222
case kMCExternalValueOptionAsNSData:
2223+
case kMCExternalValueOptionAsCFData:
22142224
{
22152225
MCAutoStringRef t_stringref;
22162226
char *t_chars;
@@ -2231,6 +2241,7 @@ static MCExternalError MCExternalVariableFetch(MCExternalVariableRef var, MCExte
22312241
break;
22322242
}
22332243
case kMCExternalValueOptionAsNSArray:
2244+
case kMCExternalValueOptionAsCFArray:
22342245
{
22352246
MCExternalError t_error;
22362247
NSArray* t_value;
@@ -2257,6 +2268,7 @@ static MCExternalError MCExternalVariableFetch(MCExternalVariableRef var, MCExte
22572268
return t_error;
22582269
}
22592270
case kMCExternalValueOptionAsNSDictionary:
2271+
case kMCExternalValueOptionAsCFDictionary:
22602272
{
22612273
MCExternalError t_error;
22622274
NSDictionary* t_value;

lcidlc/include/LiveCode.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,19 @@ enum
370370

371371
// The 'value' parameter is a pointer to a char variable (native encoding)
372372
kLCValueOptionAsCChar = 22,
373+
374+
// SN-2015-02-13: [[ ExternalsApiV6 ]] Added CF-type arguments, which
375+
// are NOT autoreleased when used as input
376+
// The 'value' parameter is a pointer to an CFNumberRef variable.
377+
kLCValueOptionAsCFNumber = 23,
378+
// The 'value' parameter is a pointer to an CFStringRef variable.
379+
kLCValueOptionAsCFString = 24,
380+
// The 'value' parameter is a pointer to an CFDataRef variable.
381+
kLCValueOptionAsCFData = 25,
382+
// The 'value' parameter is a pointer to an CFArrayRef variable.
383+
kLCValueOptionAsCFArray = 26,
384+
// The 'value' parameter is a pointer to an CFDictionaryRef variable.
385+
kLCValueOptionAsCFDictionary = 27,
373386

374387
// Treat array keys as case-insensitive.
375388
kLCValueOptionCaseSensitiveFalse = 0 << 30,

lcidlc/src/Support.mm

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,16 @@
140140
kMCOptionAsObjcArray = 20,
141141
kMCOptionAsObjcDictionary = 21,
142142

143+
// SN-2015-02-13: [[ Bug 14057 ]] Added forgotten C-char type
144+
kMCOptionAsCChar = 22,
145+
146+
// SN-2015-02-13:[[ Bug 14057 ]] Added CF-types (non-releasing)
147+
kMCOptionAsCFNumber = 23,
148+
kMCOptionAsCFString = 24,
149+
kMCOptionAsCFData = 25,
150+
kMCOptionAsCFArray = 26,
151+
kMCOptionAsCFDictionary = 27,
152+
143153
kMCOptionNumberFormatDefault = 0 << 26,
144154
kMCOptionNumberFormatDecimal = 1 << 26,
145155
kMCOptionNumberFormatScientific = 2 << 26,

0 commit comments

Comments
 (0)