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

Commit 26dc4cb

Browse files
author
Monte Goulding
committed
Merge remote-tracking branch 'runrevmark/feature-externals_api_v5' into feature/externals_v5
Conflicts: lcidlc/src/InterfaceGenerate.cpp
2 parents 3fecd26 + cba7eed commit 26dc4cb

File tree

5 files changed

+36
-32
lines changed

5 files changed

+36
-32
lines changed

lcidlc/src/InterfaceGenerate.cpp

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -687,6 +687,7 @@ static int64_t InterfaceResolveEnumElement(InterfaceRef self, NameRef p_name, Va
687687
return 0;
688688
}
689689

690+
#if NOT_USED
690691
static void InterfaceGenerateMethodStubContext(InterfaceRef self, CoderRef p_coder, Handler *p_handler, bool p_in)
691692
{
692693
NameRef t_name;
@@ -831,7 +832,6 @@ static void InterfaceGenerateJavaMethodStub(InterfaceRef self, CoderRef p_coder,
831832
CoderWriteLine(p_coder, "}");
832833
}
833834

834-
#ifdef NOT_READY
835835
static void InterfaceGenerateNativeMethodStub(InterfaceRef self, CoderRef p_coder, Handler *p_handler)
836836
{
837837
NameRef t_name;
@@ -918,7 +918,6 @@ static void InterfaceGenerateNativeMethodStub(InterfaceRef self, CoderRef p_code
918918

919919
MCCStringFree(t_native_name);
920920
}
921-
#endif
922921

923922
static void InterfaceGenerateJavaHandlerStubParameters(InterfaceRef self, CoderRef p_coder, Handler *p_handler, HandlerVariant *p_variant)
924923
{
@@ -934,18 +933,6 @@ static void InterfaceGenerateJavaHandlerStubParameters(InterfaceRef self, CoderR
934933
}
935934
}
936935

937-
static char *InterfaceGenerateJavaHandlerStubSignature(InterfaceRef self, Handler *p_handler, HandlerVariant *p_variant)
938-
{
939-
char *t_signature;
940-
t_signature = nil;
941-
MCCStringAppend(t_signature, "(");
942-
for(uindex_t i = 0; i < p_variant -> parameter_count; i++)
943-
MCCStringAppend(t_signature, native_type_to_java_sig(NativeTypeFromName(p_variant -> parameters[i] . type)));
944-
MCCStringAppend(t_signature, ")");
945-
MCCStringAppend(t_signature, p_variant -> return_type != nil ? native_type_to_java_sig(NativeTypeFromName(p_variant -> return_type)) : "V");
946-
return t_signature;
947-
}
948-
949936
static void InterfaceGenerateJavaHandlerStub(InterfaceRef self, CoderRef p_coder, Handler *p_handler, HandlerVariant *p_variant)
950937
{
951938
// Compute the return types for various contexts.
@@ -1027,6 +1014,20 @@ static void InterfaceGenerateJavaHandlerStub(InterfaceRef self, CoderRef p_coder
10271014

10281015
}
10291016

1017+
#endif
1018+
1019+
static char *InterfaceGenerateJavaHandlerStubSignature(InterfaceRef self, Handler *p_handler, HandlerVariant *p_variant)
1020+
{
1021+
char *t_signature;
1022+
t_signature = nil;
1023+
MCCStringAppend(t_signature, "(");
1024+
for(uindex_t i = 0; i < p_variant -> parameter_count; i++)
1025+
MCCStringAppend(t_signature, native_type_to_java_sig(NativeTypeFromName(p_variant -> parameters[i] . type)));
1026+
MCCStringAppend(t_signature, ")");
1027+
MCCStringAppend(t_signature, p_variant -> return_type != nil ? native_type_to_java_sig(NativeTypeFromName(p_variant -> return_type)) : "V");
1028+
return t_signature;
1029+
}
1030+
10301031
////////////////////////////////////////////////////////////////////////////////
10311032

10321033
struct MappedParameter
@@ -1252,10 +1253,10 @@ static void InterfaceGenerateVariant(InterfaceRef self, CoderRef p_coder, Handle
12521253

12531254
for(uint32_t k = 0; k < p_variant -> parameter_count; k++)
12541255
{
1255-
if (k != 0)
1256-
CoderWrite(p_coder, ", ", t_mapped_params[k] . var_name);
1256+
if (k > 0 || t_variant -> return_type_indirect)
1257+
CoderWrite(p_coder, ", ");
12571258
CoderWrite(p_coder, "%s", t_mapped_params[k] . var_name);
1258-
}
1259+
}
12591260

12601261
CoderWrite(p_coder, ")");
12611262

@@ -1301,11 +1302,7 @@ static void InterfaceGenerateVariant(InterfaceRef self, CoderRef p_coder, Handle
13011302
CoderWrite(p_coder, "__java_env -> CallStaticVoidMethod(s_java_class, s_method");
13021303

13031304
for(uint32_t k = 0; k < p_variant -> parameter_count; k++)
1304-
{
1305-
HandlerParameter *t_parameter;
1306-
t_parameter = &p_variant -> parameters[k];
1307-
CoderWrite(p_coder, ", param__%s", NameGetCString(t_parameter -> name));
1308-
}
1305+
CoderWrite(p_coder, ", %s", t_mapped_params[k] . var_name);
13091306

13101307
CoderWrite(p_coder, ")");
13111308
CoderEndStatement(p_coder);

revtestexternal/revtestexternal.lcidl

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,21 @@ use objc on mac,ios
3131

3232
command revTestExternalTestWait
3333

34-
command revTestExternalTestPost
35-
3634
command revTestExternalTestArrays
3735

36+
use java on android
37+
command revTestExternalTestPostAndSend
38+
3839
use none on linux, windows, android
3940
use objc on mac, ios
4041

41-
command revTestExternalTestObjcArrays
42+
/*command revTestExternalTestObjcArrays
4243
in array as objc-array
4344
return objc-array
4445

4546
command revTestExternalTestObjcDictionaries
4647
in dict as objc-dictionary
47-
return objc-dictionary
48+
return objc-dictionary*/
4849

4950
use none on mac, linux, windows, android, ios
5051
use java on android
@@ -55,5 +56,3 @@ tail command revTestExternalAndroidButtonDestroy
5556
function revTestExternalRunActivity return c-string
5657

5758
command revTestExternalRunOnSystemThread
58-
59-
command revTestExternalObjectPostAndSend
70 Bytes
Binary file not shown.

revtestexternal/src/revtestexternal.cpp

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,15 +122,23 @@ void revTestExternalTestWait(void)
122122
LCContextExecute("answer \"Done!\"", 0);
123123
}
124124

125-
void revTestExternalTestPost(void)
126-
{
127-
}
128125

129126
void revTestExternalTestArrays(void)
130127
{
131128
}
132129

133130
#ifndef __ANDROID__
131+
void revTestExternalTestPostAndSend(void)
132+
{
133+
LCObjectRef t_target;
134+
LCContextMe(&t_target);
135+
136+
LCObjectPost(t_target, "handlePost", "");
137+
LCObjectSend(t_target, "handleSend", "");
138+
139+
LCObjectRelease(t_target);
140+
}
141+
134142
void revTestExternalAndroidButtonCreate(void)
135143
{
136144
}

revtestexternal/src/revtestexternal.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ public void onCancel(DialogInterface p_dialog)
107107
t_wait . Release();
108108
}
109109

110-
public static void revTestExternalObjectPostAndSend()
110+
public static void revTestExternalTestPostAndSend()
111111
{
112112
LC.Object t_target;
113113
t_target = LC.ContextMe();

0 commit comments

Comments
 (0)