@foxglove/ros1
Version:
Standalone TypeScript implementation of the ROS 1 (Robot Operating System) protocol with a pluggable transport layer
27 lines • 1.52 kB
TypeScript
import { HttpServer, HttpRequest, XmlRpcValue } from "@foxglove/xmlrpc";
import { EventEmitter } from "eventemitter3";
import { RosNode } from "./RosNode";
import { RosXmlRpcResponse } from "./XmlRpcTypes";
export interface RosFollowerEvents {
paramUpdate: (paramKey: string, paramValue: XmlRpcValue, callerId: string) => void;
publisherUpdate: (topic: string, publishers: string[], callerId: string) => void;
}
export declare class RosFollower extends EventEmitter<RosFollowerEvents> {
private _rosNode;
private _server;
private _url?;
constructor(rosNode: RosNode, httpServer: HttpServer);
start(hostname: string, port?: number): Promise<void>;
close(): void;
url(): string | undefined;
getBusStats: (_: string, args: XmlRpcValue[]) => Promise<RosXmlRpcResponse>;
getBusInfo: (_: string, args: XmlRpcValue[]) => Promise<RosXmlRpcResponse>;
shutdown: (_: string, args: XmlRpcValue[]) => Promise<RosXmlRpcResponse>;
getPid: (_: string, args: XmlRpcValue[]) => Promise<RosXmlRpcResponse>;
getSubscriptions: (_: string, args: XmlRpcValue[]) => Promise<RosXmlRpcResponse>;
getPublications: (_: string, args: XmlRpcValue[]) => Promise<RosXmlRpcResponse>;
paramUpdate: (_: string, args: XmlRpcValue[]) => Promise<RosXmlRpcResponse>;
publisherUpdate: (_: string, args: XmlRpcValue[]) => Promise<RosXmlRpcResponse>;
requestTopic: (_: string, args: XmlRpcValue[], req?: HttpRequest) => Promise<RosXmlRpcResponse>;
}
//# sourceMappingURL=RosFollower.d.ts.map