2021-12-18 13:07:30 +01:00
|
|
|
Class {
|
|
|
|
#name : #DiyaFFIBase,
|
|
|
|
#superclass : #DiyaBaseObject,
|
|
|
|
#category : #'Diya-Core'
|
|
|
|
}
|
|
|
|
|
|
|
|
{ #category : #accessing }
|
|
|
|
DiyaFFIBase class >> checkSymbol [
|
|
|
|
^self subclassResponsibility
|
|
|
|
]
|
|
|
|
|
2021-12-20 01:14:35 +01:00
|
|
|
{ #category : #accessing }
|
|
|
|
DiyaFFIBase class >> ffiLibraryName [
|
|
|
|
^ self moduleName
|
|
|
|
]
|
|
|
|
|
2021-12-18 13:07:30 +01:00
|
|
|
{ #category : #accessing }
|
|
|
|
DiyaFFIBase class >> libNames [
|
|
|
|
^self subclassResponsibility
|
|
|
|
]
|
|
|
|
|
|
|
|
{ #category : #accessing }
|
|
|
|
DiyaFFIBase class >> moduleName [
|
|
|
|
self libNames do:[:aName|
|
2022-08-09 00:22:18 +02:00
|
|
|
[
|
|
|
|
(ExternalAddress loadSymbol: self checkSymbol from: aName) ifNotNil: [
|
|
|
|
^ aName
|
|
|
|
]
|
|
|
|
] on: Error do: [ ]
|
2021-12-18 13:07:30 +01:00
|
|
|
].
|
2022-08-12 12:02:49 +02:00
|
|
|
DiyaFFILibNotFound signal: 'Unable to find FFI library (', self checkSymbol, ')'.
|
2021-12-18 13:07:30 +01:00
|
|
|
]
|
2021-12-20 01:14:35 +01:00
|
|
|
|
|
|
|
{ #category : #'library path' }
|
|
|
|
DiyaFFIBase >> ffiLibraryName [
|
|
|
|
^self class ffiLibraryName
|
|
|
|
]
|