ExternalLibraryFunction.st
changeset 23831 c741a73646f0
parent 23829 209adc65cf44
child 23834 3edb64074d7b
--- a/ExternalLibraryFunction.st	Mon Mar 04 09:45:05 2019 +0100
+++ b/ExternalLibraryFunction.st	Mon Mar 04 11:05:44 2019 +0100
@@ -248,6 +248,15 @@
 
 !ExternalLibraryFunction class methodsFor:'instance creation'!
 
+name:functionName module:moduleName callType:callTypeSymbol returnType:returnType argumentTypes:argTypes
+    ^ self new
+        name:functionName module:moduleName
+        returnType:returnType argumentTypes:argTypes;
+        callType:callTypeSymbol
+
+    "Created: / 04-03-2019 / 11:00:57 / Claus Gittinger"
+!
+
 name:functionName module:moduleName returnType:returnType argumentTypes:argTypes
     ^ self new
 	name:functionName module:moduleName
@@ -758,6 +767,33 @@
     "Created: / 01-08-2006 / 13:56:48 / cg"
 !
 
+callType:aSymbol
+    (aSymbol sameAs:'api') ifTrue:[
+        self beCallTypeAPI.
+        ^ self.
+    ].
+    (aSymbol sameAs:'ole') ifTrue:[
+        self beCallTypeOLE.
+        ^ self.
+    ].
+    (aSymbol sameAs:'c') ifTrue:[
+        self beCallTypeC.
+        ^ self.
+    ].
+    (aSymbol sameAs:'objc') ifTrue:[
+        self beObjectiveC.
+        ^ self.
+    ].
+    (aSymbol sameAs:'virtualCPP') ifTrue:[
+        self beCallTypeC.
+        self beVirtualCPP.
+        ^ self.
+    ].
+    self error:'unknown calltype'
+
+    "Created: / 04-03-2019 / 11:02:12 / Claus Gittinger"
+!
+
 callTypeNumber
     ^ flags bitAnd: CALLTYPE_MASK.