bus/object.idl
package bus
interface ServiceZero
fn authenticate(capability: Map<str,any>) -> Map<str,any> //uid:8
end
interface Object
fn registerEvent(objectID: uint32, actionID: uint32, handler: uint64) -> uint64 //uid:0
fn unregisterEvent(objectID: uint32, actionID: uint32, handler: uint64) //uid:1
fn metaObject(objectID: uint32) -> MetaObject //uid:2
fn terminate(objectID: uint32) //uid:3
fn property(name: any) -> any //uid:5
fn setProperty(name: any, value: any) //uid:6
fn properties() -> Vec<str> //uid:7
fn registerEventWithSignature(objectID: uint32, actionID: uint32, handler: uint64, P3: str) -> uint64 //uid:8
fn isStatsEnabled() -> bool //uid:80
fn enableStats(enabled: bool) //uid:81
fn stats() -> Map<uint32,MethodStatistics> //uid:82
fn clearStats() //uid:83
fn isTraceEnabled() -> bool //uid:84
fn enableTrace(traced: bool) //uid:85
sig traceObject(event: EventTrace) //uid:86
end
struct MetaMethodParameter
name: str
description: str
end
struct MetaMethod
uid: uint32
returnSignature: str
name: str
parametersSignature: str
description: str
parameters: Vec<MetaMethodParameter>
returnDescription: str
end
struct MetaSignal
uid: uint32
name: str
signature: str
end
struct MetaProperty
uid: uint32
name: str
signature: str
end
struct MetaObject
methods: Map<uint32,MetaMethod>
signals: Map<uint32,MetaSignal>
properties: Map<uint32,MetaProperty>
description: str
end
struct MinMaxSum
minValue: float32
maxValue: float32
cumulatedValue: float32
end
struct MethodStatistics
count: uint32
wall: MinMaxSum
user: MinMaxSum
system: MinMaxSum
end
struct timeval
tv_sec: int64
tv_usec: int64
end
struct EventTrace
id: uint32
kind: int32
slotId: uint32
arguments: any
timestamp: timeval
userUsTime: int64
systemUsTime: int64
callerContext: uint32
calleeContext: uint32
end