pub trait IComponentTrait: IPluginBaseTrait {
// Required methods
unsafe fn getControllerClassId(&self, classId: *mut TUID) -> tresult;
unsafe fn setIoMode(&self, mode: IoMode) -> tresult;
unsafe fn getBusCount(&self, type: MediaType, dir: BusDirection) -> int32;
unsafe fn getBusInfo(
&self,
type: MediaType,
dir: BusDirection,
index: int32,
bus: *mut BusInfo
) -> tresult;
unsafe fn getRoutingInfo(
&self,
inInfo: *mut RoutingInfo,
outInfo: *mut RoutingInfo
) -> tresult;
unsafe fn activateBus(
&self,
type: MediaType,
dir: BusDirection,
index: int32,
state: TBool
) -> tresult;
unsafe fn setActive(&self, state: TBool) -> tresult;
unsafe fn setState(&self, state: *mut IBStream) -> tresult;
unsafe fn getState(&self, state: *mut IBStream) -> tresult;
}