📄 rowc.idl
字号:
// rowc.idl
// IDL interface definitions for ROWC system.
// Copyright (C) 2002 by Frank McCown
// University of Arkansas at Little Rock
// July 2002
// Compile with Orbacus: jidl rowc.idl
module rowc
{
typedef sequence<string> StringArray; // Unbounded "array" of strings
struct VideoClip
{
string location; // Location of the video
string name; // Video name determined by timestamp and modified like so: Mon_Oct_12_02_55_13_CST_2002
long size; // Size of video in bytes
long length; // Length in seconds
long long timeStamp; // Difference in milliseconds between the current time and midnight on 1-1-1970 UTC
};
//*********************************************************************
interface CamVideoCallback
{
// Notify CamController of a new video clip that has been recorded.
oneway void newRecording(in VideoClip video);
// Notify CamController of video that is being streamed to the given URL.
oneway void videoAvailable(in string url);
};
interface CamManager
{
// Start streaming video to given host name. Callback's videoAvailable called when video
// starts being transmitted. Returns false if video can't be transmitted because CamProcessor
// is busy transmitting elsewhere, true otherwise.
boolean startTransmission(in string hostName, in CamVideoCallback callback);
// Stop current transmission of video.
oneway void stopTransmission();
// Start recording video from web cam to file for a maximum of milliseconds. The callback
// is used to notify the CamController when the recording has been completed.
boolean startRec(in long milliseconds, in CamVideoCallback callback);
// Stop recording video.
oneway void stopRec();
};
interface MediaArchiveCallback
{
// Notify CamProcessor that a video has been archived for this location
oneway void addVideo(in string location);
// Notify CamProcessor that a video has been deleted at this location
oneway void removeVideo(in string location);
};
interface MediaStore
{
exception LocationsUnavailable{};
typedef sequence<VideoClip> Clips;
// Register for listening for media archive events
oneway void addMediaArchiveListener(in string hostName, in MediaArchiveCallback callback);
// Deregister for media archive events
oneway void removeMediaArchiveListener(in string hostName);
// Return unbounded array of web cam names from the database. Raise LocationsUnavailable if error retrieving locations.
StringArray getArchiveLocations() raises(LocationsUnavailable);
// Return information from database about all archived media at a given location
void getAllVideoDetails(in string location, out Clips videos);
// Deletes a set of videos for a location from the database. Return true if successful, false otherwise.
boolean deleteVideos(in string location, in StringArray names);
// Store a video in the database.
oneway void storeVideo(in VideoClip videoRec);
// Start streaming a particular video via RTP to the given destination IP address.
string getVideoStream(in string location, in string name, in string destIPaddr);
};
interface CamControllerCallback
{
// Notifies all CamControllers that a new CamProcessor is available
oneway void addWebCam(in string location);
// Notifies all CamControllers that a CamProcessor is no longer available
oneway void removeWebCam(in string location);
};
interface Registration
{
// Notify MediaServer that a new CamController has started
oneway void addCamController(in string hostName, in CamControllerCallback callback);
// Notify MediaServer that CamController is going down
oneway void removeCamController(in string hostName);
// Notify MediaServer that a new CamProcessor is available
oneway void addWebCam(in string location);
// Notify MediaServer that a CamProcessor is no longer available
oneway void removeWebCam(in string location);
// Used by CamProcessor to get MediaServer's host name
string getServerHostName();
// Return array containing locations of all active CamProcessors
StringArray getLocations();
};
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -