Skip to content

initial small set of testbed APIs in IDL format #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions testbed.enum.module.idl
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
module tb.enum 1.0.0

interface EnumInterface {
prop0: Enum0
prop1: Enum1
prop2: Enum2
prop3: Enum3

func0(param0: Enum0): Enum0
func1(param1: Enum1): Enum1
func2(param2: Enum2): Enum2
func3(param3: Enum3): Enum3

signal sig0(param0: Enum0)
signal sig1(param1: Enum1)
signal sig2(param2: Enum2)
signal sig3(param3: Enum3)
}

enum Enum0 {
value0=0,
value1=1,
value2=2,
}

enum Enum1 {
value1=1,
value2=2,
value3=3,
}

enum Enum2 {
value2=2,
value1=1,
value0=0,
}

enum Enum3 {
value3=3,
value2=2,
value1=1,
}
90 changes: 90 additions & 0 deletions testbed.simple.module.idl
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
module tb.simple 1.0.0

interface VoidInterface {
funcVoid()
signal sigVoid()
}

interface SimpleInterface {
propBool: bool
propInt: int
propInt32: int32
propInt64: int64
propFloat: float
propFloat32: float32
propFloat64: float64
propString: string

funcNoReturnValue(paramBool: bool)
funcBool(paramBool: bool): bool
funcInt(paramInt: int): int
funcInt32(paramInt32: int32): int32
funcInt64(paramInt64: int64): int64
funcFloat(paramFloat: float): float
funcFloat32(paramFloat32: float32): float32
funcFloat64(paramFloat: float64): float64
funcString(paramString: string): string

signal sigBool(paramBool: bool)
signal sigInt(paramInt: int)
signal sigInt32(paramInt32: int32)
signal sigInt64(paramInt64: int64)
signal sigFloat(paramFloat: float)
signal sigFloat32(paramFloat32: float32)
signal sigFloat64(paramFloat64: float64)
signal sigString(paramString: string)
}

interface SimpleArrayInterface {
propBool: bool[]
propInt: int[]
propInt32: int32[]
propInt64: int64[]
propFloat: float[]
propFloat32: float32[]
propFloat64: float64[]
propString: string[]
propReadOnlyString: string[readonly]

funcBool(paramBool: bool[]): bool[]
funcInt(paramInt: int[]): int[]
funcInt32(paramInt32: int32[]): int32[]
funcInt64(paramInt64: int64[]): int64[]
funcFloat(paramFloat: float[]): float[]
funcFloat32(paramFloat32: float32[]): float32[]
funcFloat64(paramFloat: float64[]): float64[]
funcString(paramString: string[]): string[]

signal sigBool(paramBool: bool[])
signal sigInt(paramInt: int[])
signal sigInt32(paramInt32: int32[])
signal sigInt64(paramInt64: int64[])
signal sigFloat(paramFloat: float[])
signal sigFloat32(paramFloat32: float32[])
signal sigFloat64(paramFloat64: float64[])
signal sigString(paramString: string[])
}

interface NoPropertiesInterface {
funcVoid()
funcBool(paramBool: bool): bool

signal sigVoid()
signal sigBool(paramBool: bool)
}

interface NoOperationsInterface {
propBool: bool
propInt: int

signal sigVoid()
signal sigBool(paramBool: bool)
}

interface NoSignalsInterface {
propBool: bool
propInt: int

funcVoid()
funcBool(paramBool: bool): bool
}
51 changes: 51 additions & 0 deletions testbed.struct.module.idl
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
module testbed1 1.0.0

interface StructInterface {
propBool: StructBool
propInt: StructInt
propFloat: StructFloat
propString: StructString

funcBool(paramBool: StructBool): StructBool
funcInt(paramInt: StructInt): StructBool
funcFloat(paramFloat: StructFloat): StructFloat
funcString(paramString: StructString): StructString

signal sigBool(paramBool: StructBool)
signal sigInt(paramInt: StructInt)
signal sigFloat(paramFloat: StructFloat)
signal sigString(paramString: StructString)
}

interface StructArrayInterface {
propBool: StructBool[]
propInt: StructInt[]
propFloat: StructFloat[]
propString: StructString[]

funcBool(paramBool: StructBool[]): StructBool[]
funcInt(paramInt: StructInt[]): StructBool[]
funcFloat(paramFloat: StructFloat[]): StructFloat[]
funcString(paramString: StructString[]): StructString[]

signal sigBool(paramBool: StructBool[])
signal sigInt(paramInt: StructInt[])
signal sigFloat(paramFloat: StructFloat[])
signal sigString(paramString: StructString[])
}

struct StructBool {
fieldBool: bool
}

struct StructInt {
fieldInt: int
}

struct StructFloat {
fieldFloat: float
}

struct StructString {
fieldString: string
}