Show rmaslta.h syntax highlighted
/****************************************************************************
*
* $Id: rmaslta.h 7 2003-05-30 02:18:02Z gabest $
*
* Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
*
* http://www.real.com/devzone
*
* This program contains proprietary nformation of RealNetworks, Inc,
* and is licensed subject to restrictions on use and distribution.
*
*
* RealMedia Architecture Interfaces for Simulated Live Transfer Agent.
*
*/
#ifndef _RMASLTA_H
#define _RMASLTA_H
/****************************************************************************
*
* Interface:
*
* IRMASLTA
*
* Purpose:
*
* Slta that works with RMA. Simulates a live stream from a file.
*
* IID_IRMASLTA
*
* {00000D00-b4c8-11d0-9995-00a0248da5f0}
*
*/
DEFINE_GUID(IID_IRMASLTA, 0x00000D00, 0xb4c8, 0x11d0, 0x99,
0x95, 0x0, 0xa0, 0x24, 0x8d, 0xa5, 0xf0);
DECLARE_INTERFACE_(IRMASLTA, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
/*
* IRMASLTA methods
*/
/************************************************************************
* Method:
* IRMASLTA::Connect
* Purpose:
* Connects the slta to a server.
*/
STDMETHOD(Connect) (THIS_
const char* host,
UINT16 uPort,
const char* username,
const char* passwd,
const char* livefile
) PURE;
/************************************************************************
* Method:
* IRMASLTA::SetTAC
* Purpose:
* Set the TAC info for the stream. This method MUST be called
* before Encode to have any effect.
*/
STDMETHOD(SetTAC) (THIS_
const char* Title,
const char* Author,
const char* Copyright) PURE;
/************************************************************************
* Method:
* IRMASLTA:Encode
* Purpose:
* Start encoding the file to the server.
*/
STDMETHOD(Encode)
(THIS_
const char* filename
) PURE;
/************************************************************************
* Method:
* IRMASLTA:Disconnect
* Purpose:
* Disconnect the slta from the server.
*/
STDMETHOD(Disconnect) (THIS) PURE;
/************************************************************************
* Method:
* IRMASLTA::SetTargetBandwidth
* Purpose:
* Sets the target bw for rule subscription.
*/
STDMETHOD(SetTargetBandwidth) (THIS_
UINT32 ulTargetBW) PURE;
};
/****************************************************************************
*
* Interface:
*
* IRMASltaEvent
*
* Purpose:
*
* Allows events to be sent through an SLTA stream
*
* IID_IRMASltaEvent
*
* {00000D01-b4c8-11d0-9995-00a0248da5f0}
*
*/
DEFINE_GUID(IID_IRMASltaEvent, 0x00000D01, 0xb4c8, 0x11d0, 0x99,
0x95, 0x0, 0xa0, 0x24, 0x8d, 0xa5, 0xf0);
/*
* Valid RMA event IDs.
*/
#define RMA_EVENT_TITLE 0x0000
#define RMA_EVENT_AUTHOR 0x0001
#define RMA_EVENT_COPYRIGHT 0x0002
#define RMA_EVENT_SERVER_ALERT 0x0003
#define RMA_EVENT_PROGRESS_MESSAGE 0x0004
#define RMA_EVENT_TEXT_SIZE 0x0010
#define RMA_EVENT_TEXT 0x0011
#define RMA_EVENT_TEXT_ANCHOR 0x0012
#define RMA_EVENT_BROWSER_OPEN_URL 0x0020
#define RMA_EVENT_TOPIC 0x0030
#define RMA_EVENT_EMPTY 0x0200
#define RMA_EVENT_CUSTOM_BEGIN 0x0400
DECLARE_INTERFACE_(IRMASltaEvent, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
/*
* IRMASltaEvent methods
*/
/************************************************************************
* Method:
* IRMASltaEvent::SetEvent
* Purpose:
* Sends an event to the slta stream.
* nEventID must be one of the valid event IDs defined above.
*/
STDMETHOD(SetEvent) (THIS_
UINT16 nEventID,
const char* szEventText) PURE;
/************************************************************************
* Method:
* IRMASltaEvent::SetRepeatedEvent
* Purpose:
* Sets an event to be repeated every ulFrequency milliseconds.
* nEventID must be one of the valid event IDs defined above.
*/
STDMETHOD(SetRepeatedEvent) (THIS_
UINT16 nEventID,
const char* szEventText,
UINT32 ulFrequency) PURE;
};
#endif
See more files for this project here