previous next

Interface List (continued)

IRMAEventHook

Purpose: Receives handle event calls for a site
Implemented by: Plug-ins and top-level clients
Used by: Event hook manager, site manager
Header file: rmawin.h

This interface lets a plug-in or TLC watch for and react to events for sites used by the plug-in. For example, an image map plug-in can watch for an RMA_MOUSE_MOVE and mouse button messages.

The IRMAEventHook interface contains the following methods:

As with all COM interfaces, the IRMAEventHook interface inherits the following IUnknown methods:

IRMAEventHook::HandleEvent

Indicates an event has occurred at the specified site. The event hook gets called first, in layer order, for each event. If a hook sets the handled member of the PNxEvent structure, the event is handled and the lower layer hooks (the site itself does not receive the event).


STDMETHOD(HandleEvent) (
THIS_
IRMASite* pSite,
PNxEvent* pEvent
) PURE;
pSite
Pointer to an IRMASite inteface that manages the site.

pEvent
Pointer to an PNxEvent structure that describes the event.

IRMAEventHook::SiteAdded

Adds a specified site to the layout.


STDMETHOD(SiteAdded) (
THIS_
IRMASite* pSite
) PURE;
pSite
Pointer to an IRMASite interface that manages the site being added.

IRMAEventHook::SiteRemoved

Removes an existing site from the layout.


STDMETHOD(SiteRemoved) (
THIS_
IRMASite* pSite
) PURE;
pSite
Pointer to an IRMASite interface that manages the site to be removed.

IRMAEventHookMgr

Purpose: Hooks events from a named region
Implemented by: Site manager
Used by: Plug-ins and top-level clients
Header file: rmawin.h

This interface adds and removes event hooks.

The IRMAEventHookMgr interface contains the following methods:

As with all COM interfaces, the IRMAEventHookMgr interface inherits the following IUnknown methods:

IRMAEventHookMgr::AddHook

Adds an event hook response interface to the named site at the specified layer. Hooks at the same layer are in the order of most recent first.


STDMETHOD(AddHook) (
THIS_
IRMAEventHook* pHook,
const char* pRegionName,
UINT16 uLayer
) PURE;
pHook
Pointer to an IRMAEventHook interface that manages the event hook.

pRegionName
Pointer to the name of the site to which to add the hook. If no name is given (that is, if this parameter is NULL), the hook is added to all sites.

uLayer
Indicates the order of the hook if more than one hook is added to a site.

IRMAEventHookMgr::RemoveHook

Removes the hooks added by IRMAEventHookMgr::AddHook.


STDMETHOD(RemoveHook) (
THIS_
IRMAEventHook* pHook,
const char* pRegionName,
UINT16 uLayer
) PURE;
pHook
Pointer to an IRMAEventHook interface that manages the event hook to be removed.

pRegionName
Pointer to the name of the region from which to remove the hook.

uLayer
The layer of the hook to be removed.

IRMAFileAuthenticator

Purpose: Associates a file object with an authenticator object
Implemented by: File objects (file system plug-ins)
Used by: RealServer
Header file: rmafiles.h

The file object created by a file system plug-in implements this interface if it performs file access authentication. RealServer uses this interface during the file object's initialization stage to associate the object with an authenticator object. The file object then uses the authenticator object to validate the username/password for the file request against RealServer's password file.

Additional Information
See "Chapter 7: File System Plug-In" and "Chapter 19: Authentication".

The IRMAFileAuthenticator interface contains the following methods:

As with all COM interfaces, the IRMAFileAuthenticator interface inherits the following IUnknown methods:

IRMAFileAuthenticator::GetAuthenticator

Information not yet available at publication.


STDMETHOD(GetAuthenticator) (
THIS_
REF(IRMAAuthenticator*) pAuthenticator
) PURE;
pAuthenticator
Information not yet available at publication.

IRMAFileAuthenticator::SetAuthenticator

Associates an IRMAAuthenticator interface to the file object.


STDMETHOD(SetAuthenticator) (
THIS_
IRMAAuthenticator* pAuthenticator
) PURE;
pAuthenticator
Pointer to an IRMAAuthenticator interface to associate with the file.

IRMAFileExists

Purpose: Determines if a file exists in the file system
Implemented by: File objects (file system plug-ins)
Used by: RealServer
Header file: rmafiles.h

When it initializes a file object, RealServer calls this interface's method to determine if the requested file exists on the file system. The file object responds through IRMAFileExistsResponse.

Additional Information
See "Chapter 7: File System Plug-In".

The IRMAFileExists interface contains the IRMAFileExists::DoesExist method.

As with all COM interfaces, the IRMAFileExists interface inherits the following IUnknown methods:

IRMAFileExists::DoesExist

Indicates whether the requested file exists on the file system.


STDMETHOD(DoesExist) (
THIS_
const char* pPath,
IRMAFileExistsResponse* pFileResponse
) PURE;
pPath
Pointer to the path of the requested file.

pFileResponse
Pointer to an IRMAFileExistsResponse interface that manages the response to this method.

IRMAFileExistsResponse

Purpose: Notifies RealServer if file exists
Implemented by: RealServer
Used by: File objects (file system plug-ins)
Header file: rmafiles.h

A file object uses this response interface to IRMAFileExists to notify RealServer that a file does or does not exist on its file system.

Additional Information
See "Chapter 7: File System Plug-In".

The IRMAFileExistsResponse interface contains the IRMAFileExistsResponse::DoesExistDone method.

As with all COM interfaces, the IRMAFileExistsResponse interface inherits the following IUnknown methods:

IRMAFileExistsResponse::DoesExistDone

Indicates whether a file does or does not exist on the file system.


STDMETHOD(DoesExistDone) (
THIS_
BOOL bExist
) PURE;
bExist
If TRUE, the file does exist.

IRMAFileFormatObject

Purpose: Provides methods of communicating with file format plug-ins
Implemented by: File format plug-ins
Used by: RealSystem architecture
Header file: rmaformt.h

This is the main interface RealServer or the RealSystem client uses to communicate with a file format plug-in. At system startup, RealSystem uses this interface to return functional information about each file format plug-in. Based on this information, it determines which plug-in it needs to use to stream a request for a specific file type. Additional methods instruct the plug-in to send stream header information or stream packets.

Additional Information
See IRMAFormatResponse. See also "Chapter 5: File Format Plug-In".

The IRMAFileFormatObject interface contains the following methods:

As with all COM interfaces, the IRMAFileFormatObject interface inherits the following IUnknown methods:

IRMAFileFormatObject::Close

Manages any cleanup required before closing the plug-in. All references to objects should be released and memory deallocated. This method is called when the playback is finished or stopped.


STDMETHOD(Close) (
THIS
) PURE;

IRMAFileFormatObject::GetFileFormatInfo

Returns crucial information required to associate this plug-in with a given MIME type. This information tells the core which file format plug-in to use for a particular URL. The method is called when the RMA core application is launched.


STDMETHOD(GetFileFormatInfo) (
THIS_
REF(const char**) pFileMimeTypes,
REF(const char**) pFileExtensions,
REF(const char**) pFileOpenNames
) PURE;
pFileMimeTypes
Returns a pointer to the file MIME types supported by this plug-in.

pFileExtensions
Returns a pointer to the file extensions supported by this plug-in.

pFileOpenNames
Returns a pointer to the file open names supported by this plug-in.

IRMAFileFormatObject::GetFileHeader

Returns the file header information. Several routines are actually required to complete the process due to the asynchronous nature of the RMA file system. This method is called after the file has been initialized.


STDMETHOD(GetFileHeader) (
THIS
) PURE;

IRMAFileFormatObject::GetPacket

Returns the packet data for a particular stream. Several routines are actually required to complete the process due to the asynchronous nature of the RMA file system. This method is called each time it needs another packet.


STDMETHOD(GetPacket) (
THIS_
UINT16 unStreamNumber
) PURE;
unStreamNumber
Number of the stream from which to get the packet.

IRMAFileFormatObject::GetStreamHeader

Returns the stream header information for a particular stream. Several routines are actually required to complete the process due to the asynchronous nature of the RMA file system. This method is called (after the file header has been read) for each stream in the file format.


STDMETHOD(GetStreamHeader) (
THIS_
UINT16 unStreamNumber
) PURE;
unStreamNumber
Number of the stream from which to get the stream header.

IRMAFileFormatObject::InitFileFormat

Initializes the file and stores references to objects used. This method is called whenever a URL associated with this plug-in is opened.


STDMETHOD(InitFileFormat) (
THIS_
IRMARequest* pRequest,
IRMAFormatResponse* pFormatResponse,
IRMAFileObject* pFileObject
) PURE;
pRequest
Information not yet available at publication.

pFormatResponse
Pointer to an IRMAFormatResponse interface that manages the response to various methods in this interface.

IRMAFileObject
Information not yet available at publication.

IRMAFileFormatObject::Seek

Places the file at a specified position.


STDMETHOD(Seek) (
THIS_
ULONG32 ulOffset
) PURE;
ulOffset
The offset from which to position the file.

IRMAFileMimeMapper

Purpose: Determines a file's MIME type
Implemented by: File objects (file system plug-ins)
Used by: RealServer
Header file: rmafiles.h

When it initializes a file object, RealServer calls this interface's method to determine the MIME type of the requested file. If the file object does not implement this interface or cannot determine the file MIME type, RealServer determines the MIME type from the file extension. The file object responds through IRMAFileMimeMapperResponse.

Additional Information
See "Chapter 7: File System Plug-In". For broadcast objects, see IRMABroadcastMapper.

The IRMAFileMimeMapper interface contains the IRMAFileMimeMapper::FindMimeType method.

As with all COM interfaces, the IRMAFileMimeMapper interface inherits the following IUnknown methods:

IRMAFileMimeMapper::FindMimeType

Determines the MIME type of the requested file.


STDMETHOD(FindMimeType) (
THIS_
const char* pURL,
IRMAFileMimeMapperResponse* pMimeMapperResponse
) PURE;
pURL
Information not yet available at publication.

pMimeMapperResponse
Pointer to an IRMAFileMimeMapperResponse interface the plug-in uses to respond to this method.

IRMAFileMimeMapperResponse

Purpose: Notifies RealServer of file's MIME type
Implemented by: RealServer
Used by: File objects (file system plug-ins)
Header file: rmafiles.h

A file object uses this response interface to IRMAFileMimeMapper to notify RealServer of a requested file's MIME type. With this information, RealServer determines what file format plug-in to use to stream the file.

Additional Information
See "Chapter 7: File System Plug-In".

The IRMAFileMimeMapperResponse interface contains the IRMAFileMimeMapperResponse::MimeTypeFound method.

As with all COM interfaces, the IRMAFileMimeMapperResponse interface inherits the following IUnknown methods:

IRMAFileMimeMapperResponse::MimeTypeFound

Indicates whether the MIME type was found by the IRMAFileMimeMapper::FindMimeType method. This method is called by the IRMAFileObject interface when the initialization of the file is complete and the MIME type is available for the request file. If the file is not valid for the file system, the status PNR_FAILED should be returned, with a MIME type of NULL. If the file is valid but the MIME type is unknown, then the status PNR_OK should be returned with a MIME type of NULL.


STDMETHOD(MimeTypeFound) (
THIS_
PN_RESULT status,
const char* pMimeType
) PURE;
status
The status of the IRMAFileMimeMapper::FindMimeType operation. A value of PNR_OK indicates the operation has completed successfully.

pMimeType
Pointer to the MIME type for the requested file.

IRMAFileObject

Purpose: Controls file objects
Implemented by: File objects (file system plug-ins)
Used by: RealServer and file format plug-ins
Header file: rmafiles.h

This is the main interface to file objects created by file system plug-ins. RealServer uses this interface to initialize the file object. It then passes the object to a file format plug-in that uses the object to retrieve file data for streaming. The response interface implemented by the file format plug-in is IRMAFileResponse.

Additional Information
See "Chapter 7: File System Plug-In" and "Chapter 5: File Format Plug- In".

The IRMAFileObject interface contains the following methods:

As with all COM interfaces, the IRMAFileObject interface inherits the following IUnknown methods:

IRMAFileObject::Advise

Passes information to the file object advising it about usage heuristics.


STDMETHOD(Advise) (
THIS_
ULONG32 ulInfo
) PURE;
ulInfo
Information not yet available at publication.

IRMAFileObject::Close

Closes the file resource and releases all resources associated with the object.


STDMETHOD(Close) (
THIS
) PURE;

IRMAFileObject::GetFilename

Returns the filename (without any path information) associated with a file object.


STDMETHOD(GetFilename) (
THIS_
REF(const char*) pFilename
) PURE;
pFilename
Returns a pointer to the file name.

Note
The returned pointer's lifetime expires as soon as the caller returns from a function that was called from the RMA core (that is, when you return control to the RMA core)

IRMAFileObject::Init

Associates a file object interface with the file response interface it should notify of operation completness. This method should also check for validity of the object (for example, by opening it if it is a local file).


STDMETHOD(Init) (
THIS_
ULONG32 ulFlags,
IRMAFileResponse* pFileResponse
) PURE;
ulFlags
Information not yet available at publication.

pFileResponse
Pointer to an IRMAFileResponse interface that manages the response to various methods in this interface.

IRMAFileObject::Read

Reads a buffer of data of the specified length from the file and asynchronously returns it to the caller using the IRMAFileResponse interface passed in to IRMAFileObject::Init.


STDMETHOD(Read) (
THIS_
ULONG32 ulCount
) PURE;
ulCount
The length of the data buffer to read.

IRMAFileObject::Seek

Seeks to an offset in the file and asynchronously notifies the caller that the operation has been completed using the IRMAFileResponse interface passed in to IRMAFileObject::Init.


STDMETHOD(Seek) (
THIS_
ULONG32 ulOffset,
BOOL bRelative
) PURE;
ulOffset
The offset in the file to which to seek.

bRelative
If TRUE, indicates that this is a relative seek. Otherwise, this is an absolute seek.

IRMAFileObject::Write

Writes a buffer of data to the file and asynchronously notifies the caller that the operation has been completed using the IRMAFileResponse interface passed in to IRMAFileObject::Init.


STDMETHOD(Write) (
THIS_
IRMABuffer* pBuffer
) PURE;
pBuffer
Pointer to an IRMABuffer interface that manages the data to be written to the file.

IRMAFileRemove

Purpose: Provides for removing of files
Implemented by: File objects (file system plug-ins)
Used by: Any component with access to file objects
Header file: rmafiles.h

This interface is queried from an object that supports the IRMAFileObject interface. Call the IRMAFileRemove::Remove method to delete the file from the file system.

Note
Not all filesystem plug-ins implement this feature.

The IRMAFileRemove interface contains the IRMAFileRemove::Remove method.

As with all COM interfaces, the IRMAFileRemove interface inherits the following IUnknown methods:

IRMAFileRemove::Remove

Removes a file from the file system.


STDMETHOD(Remove) (
THIS
) PURE;

IRMAFileRename

Purpose: Provides for renaming of files
Implemented by: File objects (file system plug-ins)
Used by: Any component with access to file objects
Header file: rmafiles.h

This interface is queried from an object that supports the IRMAFileObject interface. Call the IRMAFileRename::Rename method to rename the file in the file system.

Note
Not all filesystem plug-ins implement this feature.

The IRMAFileRename interface contains the IRMAFileRename::Rename method.

As with all COM interfaces, the IRMAFileRename interface inherits the following IUnknown methods:

IRMAFileRename::Rename

Renames a file to a new name.


STDMETHOD(Rename) (
THIS_
const char* pNewFileName
) PURE;
pNewFileName
Pointer to the new file name.

IRMAFileResponse

Purpose: Informs file format plug-ins of finished file operations
Implemented by: File format plug-ins
Used by: File objects (file system plug-ins)
Header file: rmafiles.h

This is the response interface to IRMAFileObject, the main interface to file objects created by a file system plug-in. A file format plug-in uses IRMAFileObject to seek for and read file data on a file system. The file format plug-in implements the IRMAFileResponse interface to receive asynchronous notification that the file object has finished a file operation.

Additional Information
See "Chapter 7: File System Plug-In" and "Chapter 5: File Format Plug- In".

The IRMAFileResponse interface contains the following methods:

As with all COM interfaces, the IRMAFileResponse interface inherits the following IUnknown methods:

IRMAFileResponse::CloseDone

Indicates the IRMAFileObject::Close method has completed.


STDMETHOD(CloseDone) (
THIS_
PN_RESULT status
) PURE;
status
The status of the IRMAFileObject::Close operation. A value of PNR_OK indicates the operation has completed successfully.

IRMAFileResponse::InitDone

Indicates the IRMAFileObject::Init method has completed. If the file is not valid for the file system, return a status of PNR_FAILED.


STDMETHOD(InitDone) (
THIS_
PN_RESULT status
) PURE;
status
The status of the IRMAFileObject::Init operation. A value of PNR_OK indicates the operation has completed successfully.

IRMAFileResponse::ReadDone

Indicates the last read from the file has completed and a buffer is available.


STDMETHOD(ReadDone) (
THIS_
PN_RESULT status,
IRMABuffer* pBuffer
) PURE;
status
The status of the IRMAFileObject::Read operation. A value of PNR_OK indicates the operation has completed successfully.

pBuffer
Pointer to the IRMABuffer interface that manages the data that was read from the file.

IRMAFileResponse::SeekDone

Indicates the last seek in the file has completed.


STDMETHOD(SeekDone) (
THIS_
PN_RESULT status
) PURE;
status
The status of the IRMAFileObject::Seek operation. A value of PNR_OK indicates the operation has completed successfully.

IRMAFileResponse::WriteDone

Indicates the last write to the file has completed.


STDMETHOD(WriteDone) (
THIS_
PN_RESULT status
) PURE;
status
The status of the IRMAFileObject::Write operation. A value of PNR_OK indicates the operation has completed successfully.

IRMAFileStat

Purpose: Requests file statistics from the file system plug-ins
Implemented by: File objects (file system plug-ins)
Used by: File format plug-ins
Header file: rmafiles.h

A file format plug-in uses this interface to request file statistics, such as file size and creation time, from a file object. The file object then uses the response interface IRMAFileStatResponse to send the asynchronous response data to the file format plug-in.

Additional Information
See "Chapter 5: File Format Plug-In".

The IRMAFileStat interface contains the IRMAFileStat::Stat method.

As with all COM interfaces, the IRMAFileStat interface inherits the following IUnknown methods:

IRMAFileStat::Stat

Requests the file statistics.


STDMETHOD(Stat) (
THIS_
IRMAFileStatResponse* pFileStatResponse
) PURE;
pFileStatResponse
Pointer to an IRMAFileStatResponse interface that manages the file statistics.

IRMAFileStatResponse

Purpose: Sends file statistics to file format plug-ins
Implemented by: File format plug-ins
Used by: File objects (file system plug-ins)
Header file: rmafiles.h

This is the response interface to IRMAFileStat, which the file format plug-in can use to request file statistics, such as file size and creation time, from a file object. The file format plug-in implements IRMAFileStatResponse to receive the asynchronous response data from the file object.

Additional Information
See "Chapter 5: File Format Plug-In".

The IRMAFileStatResponse interface contains the IRMAFileStatResponse::StatDone method.

As with all COM interfaces, the IRMAFileStatResponse interface inherits the following IUnknown methods:

IRMAFileStatResponse::StatDone

Returns the file status information requested by the IRMAFileStat::Stat method.


STDMETHOD(StatDone) (
THIS_
PN_RESULT status,
UINT32 ulSize,
UINT32 ulCreationTime,
UINT32 ulAccessTime,
UINT32 ulModificationTime,
UINT32 ulMode
) PURE;
status
The status of the IRMAFileStat::Stat operation. A value of PNR_OK indicates the operation has completed successfully.

ulSize
The size of the file, in bytes.

ulCreationTime
The time the file was created. This parameter uses the number of seconds since January 1, 1970.

ulAccessTime
The last time the file was accessed by either a read or a write operation. This parameter uses the number of seconds since January 1, 1970.

ulModificationTime
The last time the file was modified with new data. This parameter uses the number of seconds since January 1, 1970.

ulMode
Information not yet available at publication.

IRMAFileSystemManager

Purpose: Gets file objects for relative files
Implemented by: File system manager objects (RealSystem architecture)
Used by: File format plug-ins, RealServer
Header file: rmafiles.h

A file format plug-in can create a file system manager object and use this interface if it needs to create additional file objects for a file, or access a different file or set of files residing in locations relative to a requested file. The file system manager object requests new file objects from the original file object through IRMAGetFileFromSamePool. It passes the file format plug-in pointers to the relative file objects through IRMAFileSystemManagerResponse.

Note
A file format plug-in should use only the IRMAFileSystemManager::Init and IRMAFileSystemManager::GetRelativeFileObject methods. The other methods are for use primarily by RealServer.

Additional Information
See "Chapter 5: File Format Plug-In". See also IRMADirHandler.

The IRMAFileSystemManager interface contains the following methods:

As with all COM interfaces, the IRMAFileSystemManager interface inherits the following IUnknown methods:

IRMAFileSystemManager::GetDirObjectFromURL

This method is no longer used and should return PNR_NOTIMPL.


STDMETHOD(GetDirObjectFromURL) (
THIS_
const char* pURL
) PURE;

IRMAFileSystemManager::GetFileObject

Attempts to locate an existing file using the DoesExist method in each file system's objects, and returns that object through IRMAFileSystemManagerResponse::FileObjectReady.


STDMETHOD(GetFileObject) (
THIS_
IRMARequest* pRequest,
IRMAAuthenticator* pAuthenticator
) PURE;
pRequest
Information not yet available at publication.

pAuthenticator
Information not yet available at publication.

IRMAFileSystemManager::GetNewFileObject

Attempts to create a new file. The first file system that matches the mount point or protocol for the path in the request object creates the file which is then returned through IRMAFileSystemManagerResponse::FileObjectReady. This is especially useful if you want to open a brand new file for writing. This method is similar to IRMAFileSystemManager::GetFileObject except that no DoesExist checks are done.


STDMETHOD(GetNewFileObject) (
THIS_
IRMARequest* pRequest,
IRMAAuthenticator* pAuthenticator
) PURE;
pRequest
Information not yet available at publication.

pAuthenticator
Information not yet available at publication.

IRMAFileSystemManager::GetRelativeFileObject

Information not yet available at publication.


STDMETHOD(GetRelativeFileObject) (
THIS_
IUnknown* pOriginalObject,
const char* pPath
) PURE;
pOriginalObject
Pointer to the IUnknown interface that identifies the instance of the origin file object.

pPath
Information not yet available at publication.

IRMAFileSystemManager::Init

Associates a file system manager response interface to this file system manager interface.


STDMETHOD(Init) (
THIS_
IRMAFileSystemManagerResponse* pFileManagerResponse
) PURE;
pFileManagerResponse
Pointer to an IRMAFileSystemManagerResponse interface that manages the response to various methods in this interface.

IRMAFileSystemManagerResponse

Purpose: Receives pointers to relative file objects
Implemented by: File format plug-ins, RealServer
Used by: File system manager objects (RealSystem architecture)
Header file: rmafiles.h

This is the response interface to IRMAFileSystemManager, which a file format plug-in uses to get relative file objects. The plug-in implements IRMAFileSystemManagerResponse to receive pointers to the relative file objects.

Additional Information
See "Chapter 5: File Format Plug-In". See also IRMADirHandlerResponse.

The IRMAFileSystemManagerResponse interface contains the following methods:

As with all COM interfaces, the IRMAFileSystemManagerResponse interface inherits the following IUnknown methods:

IRMAFileSystemManagerResponse::DirObjectReady

This method is no longer used and should return PNR_NOTIMPL.


STDMETHOD(DirObjectReady) (
THIS_
PN_RESULT status,
IUnknown* pDirObject
) PURE;

IRMAFileSystemManagerResponse::FileObjectReady

Information not yet available at publication.


STDMETHOD(FileObjectReady) (
THIS_
PN_RESULT status,
IUnknown* pObject
) PURE;
status
The status of the operation. A value of PNR_OK indicates the operation has completed successfully.

pObject
Pointer to an IUnknown interface that identifies the instance of the file object.

IRMAFileSystemManagerResponse::InitDone

Indicates the IRMAFileSystemManager::Init method has completed.


STDMETHOD(InitDone) (
THIS_
PN_RESULT status
) PURE;
status
The status of the IRMAFileSystemManager::Init operation. A value of PNR_OK indicates the operation has completed successfully.

IRMAFileSystemObject

Purpose: Controls file system plug-ins
Implemented by: File system plug-ins
Used by: RealServer
Header file: rmafiles.h

All file system plug-ins must implement this interface. RealServer uses this interface to initialize the plug-ins. It calls the IRMAFileSystemObject::CreateFile method to create file objects accessed through IRMAFileObject.

Additional Information
See "Chapter 7: File System Plug-In".

The IRMAFileSystemObject interface contains the following methods:

As with all COM interfaces, the IRMAFileSystemObject interface inherits the following IUnknown methods:

IRMAFileSystemObject::CreateDir

This method is no longer used and should return PNR_NOTIMPL.


STDMETHOD(CreateDir) (
THIS_
IUnknown** ppDirObject
) PURE;

IRMAFileSystemObject::CreateFile

Creates a new file object that manages all of the file I/O functionality of this class. This file object is eventually handed off to a file format plug-in that manages file I/O through this file object. This method is called when a URL with a protocol associated with this plug-in is opened.


STDMETHOD(CreateFile) (
THIS_
IUnknown** ppFileObject
) PURE;
ppFileObject
Returns a pointer to the IUnknown interface that identifies the instance of the file object that was created.

IRMAFileSystemObject::GetFileSystemInfo

Returns crucial information required to associate this plug-in with a given protocol. This information tells the core which file system plug-in to use for a particular protocol.


STDMETHOD(GetFileSystemInfo) (
THIS_
REF(const char*) pShortName,
REF(const char*) pProtocol
) PURE;
pShortName
Returns a pointer to the short name. This parameter should be a short, human-readable name in the form of "company-fsname", for example, pShortName = "pn-local".

pProtocol
Returns a pointer to the protocol. For example, in the URL "file://myfile.txt", the protocol would be "file".

IRMAFileSystemObject::InitFileSystem

Performs any additional initialization steps required for the file system. It is called prior to the IRMAFileSystemObject::CreateFile request. Any options provided usually refer to mounting options related to the server, such as base path or authentication preferences.


STDMETHOD(InitFileSystem) (
THIS_
IRMAValues* pOptions
) PURE;
pOptions
Information not yet available at publication.

IRMAFileViewSource

Purpose: Controls the source shown in the browser.
Implemented by: File format plug-ins
Used by: ViewSource
Header file: rmavsrc.h

This interface controls the source shown in the browser when a user attempts to view the source of a particular implementer's data type. The response interface is IRMAFileViewSourceResponse.

The IRMAFileViewSource interface contains the following methods:

As with all COM interfaces, the IRMAFileViewSource interface inherits the following IUnknown methods:

IRMAFileViewSource::Close

Closes the view source interface.


STDMETHOD(Close) (
THIS
) PURE;

IRMAFileViewSource::GetSource

Queries for the source to be viewed.


STDMETHOD(GetSource) (
THIS
) PURE;

IRMAFileViewSource::InitViewSource

Provides the information required to view the source information.


STDMETHOD(InitViewSource) (
THIS_
IRMAFileObject* pFileObject,
IRMAFileViewSourceResponse* pResp,
SOURCE_TYPE sourceType,
IRMAValues* pOptions
) PURE;
pFileObject
Pointer to an IRMAFileObject interface that manages the file object whose source is to be viewed.

pResp
Pointer to an IRMAFileViewSourceResponse interface that manages the responses to this interface.

sourceType
A SOURCE_TYPE enumerator that specifies what type of source is to be viewed. The following file formats are currently supported:

pOptions
Pointer to an IRMAValues interface that manages information about the context from which view source was called. This information includes:

IRMAFileViewSourceResponse

Purpose: Returns the source information.
Implemented by: ViewSource
Used by: File format plug-in
Header file: rmavsrc.h

This is the response interface for the IRMAFileViewSource interface.

The IRMAFileViewSourceResponse interface contains the following methods:

As with all COM interfaces, the IRMAFileViewSourceResponse interface inherits the following IUnknown methods:

IRMAFileViewSourceResponse::CloseDone

Returns the status of the close operation.


STDMETHOD(CloseDone) (
THIS_
PN_RESULT status
) PURE;
status
The status of the IRMAFileViewSource::Close operation. A value of PNR_OK indicates the operation has completed successfully.

IRMAFileViewSourceResponse::InitDone

Returns the status of the intialization operation.


STDMETHOD(InitDone) (
THIS_
PN_RESULT status
) PURE;
status
The status of the IRMAFileViewSource::InitViewSource operation. A value of PNR_OK indicates the operation has completed successfully.

IRMAFileViewSourceResponse::SourceReady

Indicates the status of the operation and, if successful, returns a pointer to the source information.


STDMETHOD(SourceReady) (
THIS_
PN_RESULT status,
IRMABuffer* pSource
) PURE;
status
The status of the IRMAFileViewSource::GetSource operation. A value of PNR_OK indicates the operation has completed successfully.

pSource
Pointer to an IRMABuffer interface that manages the source information.

IRMAFormatResponse

Purpose: Lets file format plug-ins communicate with RealSystem
Implemented by: RealSystem architecture
Used by: File format and broadcast plug-ins
Header file: rmaformt.h

This is the response interface to IRMAFileFormatObject and IRMABroadcastFormatObject. During plug-in intialization, RealServer or the RealSystem Client (with file format plug-ins only) sets itself up as each plug-in's response object. Plug-ins then use this interface to pass the system stream information.

Additional Information
See "Chapter 5: File Format Plug-In" or "Chapter 8: Broadcast Plug-in".

The IRMAFormatResponse interface contains the following methods:

As with all COM interfaces, the IRMAFormatResponse interface inherits the following IUnknown methods:

IRMAFormatResponse::FileHeaderReady

Indicates whether the request for a file header completed successfully and, if so, returns the file header.


STDMETHOD(FileHeaderReady) (
THIS_
PN_RESULT status,
IRMAValues* pHeader
) PURE;
status
Contains the response status. If this parameter is PNR_OK, the call completed successfully.

pHeader
Pointer to an IRMAValues interface that manages the file header information.

IRMAFormatResponse::InitDone

Indicates whether the format object initialization completed successfully.


STDMETHOD(InitDone) (
THIS_
PN_RESULT status
) PURE;
status
Contains the response status. If this parameter is PNR_OK, the call completed successfully.

IRMAFormatResponse::PacketReady

Indicates whether the request for a packet completed successfully and, if so, passes the packet back to the RMA core.


STDMETHOD(PacketReady) (
THIS_
PN_RESULT status,
IRMAPacket* pPacket
) PURE;
status
Contains the response status. If this parameter is PNR_OK, the call completed successfully.

pPacket
Pointer to an IRMAPacket interface that manages the packet data.

IRMAFormatResponse::SeekDone

Indicates whether the seek to a different part of the time line completed successfully.


STDMETHOD(SeekDone) (
THIS_

    PN_RESULT status
) PURE;
status
Contains the response status. If this parameter is PNR_OK, the call completed successfully.

IRMAFormatResponse::StreamDone

Indicates no more packets are available for this stream.


STDMETHOD(StreamDone) (
THIS_
UINT16 unStreamNumber
) PURE;
unStreamNumber
The stream number of the stream that has completed.

IRMAFormatResponse::StreamHeaderReady

Indicates whether the request for a stream header completed successfully and, if so, returns the stream header.


STDMETHOD(StreamHeaderReady) (
THIS_
PN_RESULT status,
IRMAValues* pHeader
) PURE;
status
Contains the response status. If this parameter is PNR_OK, the call completed successfully.

pHeader
Pointer to an IRMAValues interface that manages the stream header information.

IRMAGUIDDBManager

Purpose: Provides storage of player GUID data for player authentication
Implemented by: Database plug-in
Used by: Database user
Header file: rmadb.h

The response interface is IRMAGUIDDBManagerResponse.

The IRMAGUIDDBManager interface contains the following methods:

As with all COM interfaces, the IRMAGUIDDBManager interface inherits the following IUnknown methods:

IRMAGUIDDBManager::GetPrincipalIDFromGUID

Gets the associated player GUID from a user. If the GUID is set to all zeroes because GUID logging has been disabled by either the client or the server, IRMAGUIDDBManagerResponse::GetPrincipalIDFromGUIDDone will not return a valid user ID.


STDMETHOD(GetPrincipalIDFromGUID) (
THIS_
IRMAGUIDDBManagerResponse* pGUIDDBManagerResponseNew,
IRMABuffer* pBufferGUID
) PURE;
pGUIDDBManagerResponseNew
Pointer to an IRMAGUIDDBManagerResponse interface that manages the response to this method.

pBufferGUID
Pointer to an IRMABuffer interface that manages the player GUID.

IRMAGUIDDBManager::SetGUIDForPrincipalID

Associates a player GUID with a user. If GUID logging has been disabled by the server or the client, the player GUID will be set to all zeroes.


STDMETHOD(SetGUIDForPrincipalID) (
THIS_
IRMAGUIDDBManagerResponse* pGUIDDBManagerResponseNew,
IRMABuffer* pBufferPrincipalID,
IRMABuffer* pBufferGUID
) PURE;
pGUIDDBManagerResponseNew
Pointer to an IRMAGUIDDBManagerResponse interface that manages the response to this method.

pBufferPrincipalID
Pointer to an IRMABuffer interface that manages the ID of the user.

pBufferGUID
Pointer to an IRMABuffer interface that manages the player GUID.

IRMAGUIDDBManagerResponse

Purpose: Manages player GUID data
Implemented by: Database user
Used by: Database plug-in
Header file: rmadb.h

The IRMAGUIDDBManagerResponse interface contains the following methods:

As with all COM interfaces, the IRMAGUIDDBManagerResponse interface inherits the following IUnknown methods:

IRMAGUIDDBManagerResponse::GetPrincipalIDFromGUIDDone

Returns the user ID associated with the indicated player GUID.


STDMETHOD(GetPrincipalIDFromGUIDDone) (
THIS_
PN_RESULT ResultStatus,
IRMABuffer* pBufferGUID,
IRMABuffer* pBufferPrincipalID
) PURE;
ResultStatus
The status of the IRMAGUIDDBManager::GetPrincipalIDFromGUID operation. A value of PNR_OK indicates the operation has completed successfully.

pBufferGUID
Pointer to an IRMABuffer interface that manages the player GUID.

pBufferPrincipalID
Pointer to an IRMABuffer interface that manages the user ID.

IRMAGUIDDBManagerResponse::SetGUIDForPrincipalIDDone

Reports the status of the call to IRMAGUIDDBManager::SetGUIDForPrincipalID.


STDMETHOD(SetGUIDForPrincipalIDDone) (
THIS_
PN_RESULT ResultStatus,
IRMABuffer* pBufferPrincipalID
) PURE;
ResultStatus
The status of the IRMAGUIDDBManager::SetGUIDForPrincipalID operation. A value of PNR_OK indicates the operation has completed successfully.

pBufferPrincipalID
Pointer to an IRMABuffer interface that manages the user ID.

IRMAGenericPlugin

Purpose: Indicates that IRMAPlugin::InitPlugin should be called immediately
Implemented by: Plug-ins
Used by: Client/server core
Header file: rmaplugn.h

The IRMAGenericPlugin interface contains the IRMAGenericPlugin::IsGeneric method.

As with all COM interfaces, the IRMAGenericPlugin interface inherits the following IUnknown methods:

IRMAGenericPlugin::IsGeneric

Information not yet available at publication.


STDMETHOD(IsGeneric) (
THIS_
REF(BOOL) bIsGeneric
) PURE;
bIsGeneric
Information not yet available at publication.

IRMAGetFileFromSamePool

Purpose: Requests file objects for relative files
Implemented by: File objects (file system plug-ins)
Used by: File system manager objects (RealSystem architecture)
Header file: rmafiles.h

When a file format plug-in needs to access a relative file, it creates an IRMAFileSystemManager object that uses the IRMAGetFileFromSamePool interface on the original file object to request a new file object. The original file object then returns a pointer to the new, uninitialized file object through IRMAGetFileFromSamePoolResponse.

Additional Information
See "Chapter 5: File Format Plug-In".

The IRMAGetFileFromSamePool interface contains the IRMAGetFileFromSamePool::GetFileObjectFromPool method.

As with all COM interfaces, the IRMAGetFileFromSamePool interface inherits the following IUnknown methods:

IRMAGetFileFromSamePool::GetFileObjectFromPool

Gets another file object from the same pool.


STDMETHOD(GetFileObjectFromPool) (
THIS_
IRMAGetFileFromSamePoolResponse* response
) PURE;
response
Pointer to an IRMAGetFileFromSamePoolResponse interface that manages the new, uninitialized file object.

IRMAGetFileFromSamePoolResponse

Purpose: Returns pointers to relative file objects
Implemented by: File system manager objects (RealSystem architecture)
Used by: File objects (file system plug-ins)
Header file: rmafiles.h

This is the response interface to IRMAGetFileFromSamePool. A file object uses it to return to an IRMAFileSystemManager object a pointer to a new relative file object.

Additional Information
See "Chapter 7: File System Plug-In".

The IRMAGetFileFromSamePoolResponse interface contains the IRMAGetFileFromSamePoolResponse::FileObjectReady method.

As with all COM interfaces, the IRMAGetFileFromSamePoolResponse interface inherits the following IUnknown methods:

IRMAGetFileFromSamePoolResponse::FileObjectReady

Indicates whether the request for a new file object completed successfully and returns another file object from the same pool.


STDMETHOD(FileObjectReady) (
THIS_
PN_RESULT status,
IUnknown* ppUnknown
) PURE;
status
Contains the response status to the IRMAGetFileFromSamePool::GetFileObjectFromPool operation. If this parameter is PNR_OK, the call completed successfully.

ppUnknown
Pointer to the IUnknown interface that identifies the instance of the file object.

IRMAGroup

Purpose: Manipulates tracks in a group.
Implemented by: Player object (Client core)
Used by: IRMAGroupManager
Header file: rmagroup.h

IRMAGroupManager uses this interface to add a track to a group; remove a track from a group; start or get a track in a group; get the number of tracks in a group; and, get or set properties of a group.

Additional Information
See also IRMAGroupSink.

The IRMAGroup interface contains the following methods:

As with all COM interfaces, the IRMAGroup interface inherits the following IUnknown methods:

IRMAGroup::AddTrack

Adds tracks to the group.


STDMETHOD(AddTrack) (
THIS_
IRMAValues* pTrack
) PURE;
pTrack
Pointer to an IRMAValues interface that manages the tracks to add.

IRMAGroup::GetGroupProperties

Gets any group-specific information. This information is returned through an IRMAValues interface. This method can return NULL.


STDMETHOD_(IRMAValues*, GetGroupProperties) (
THIS
) PURE;

IRMAGroup::GetTrack

Gets the indicated track in this group.


STDMETHOD(GetTrack) (
THIS_
UINT16 uTrackIndex,
REF(IRMAValues*) pTrack
) PURE;
uTrackIndex
The index of the track to retrieve.

pTrack
Returns a pointer to an IRMAValues interface that manages the track.

IRMAGroup::GetTrackCount

Gets the number of tracks within this group.


STDMETHOD_(UINT16,GetTrackCount) (
THIS
) PURE;

IRMAGroup::RemoveTrack

Removes an already added track.


STDMETHOD(RemoveTrack) (
THIS_
UINT16 uTrackIndex
) PURE;
uTrackIndex
The track to remove.

IRMAGroup::SetGroupProperties

Sets any group-specific information, such as title, author, copyright, and so on.


STDMETHOD(SetGroupProperties) (
THIS_
IRMAValues* pProperties
) PURE;
pProperties
Pointer to an IRMAValues interface that manages the group-specific information.

IRMAGroupManager

Purpose: Manipulates groups and sinks.
Implemented by: IRMAPlayer object
Used by: Top-level client or rendering plug-ins
Header file: rmagroup.h

A top-level client or rendering plug-in uses this interface to add or remove sinks; create or add groups; get, set, or remove groups, or get the number of groups in a presentation.

Additional Information
See "Chapter 20: Top-Level Client" or "Chapter 6: Rendering Plug-In".

The IRMAGroupManager interface contains the following methods:

As with all COM interfaces, the IRMAGroupManager interface inherits the following IUnknown methods:

IRMAGroupManager::AddGroup

Adds a group to the presentation.


STDMETHOD(AddGroup) (
THIS_
IRMAGroup* pGroup
) PURE;
pGroup
Pointer to an IRMAGroup interface that manages the group to be added.

IRMAGroupManager::AddSink

Adds a sink to get notifications about any tracks or groups being added to the presentation.


STDMETHOD(AddSink) (
THIS_
IRMAGroupSink* pGroupSink
) PURE;
pGroupSink
Pointer to an IRMAGroupSink interface that manages the notifications.

IRMAGroupManager::CreateGroup

Creates a group.


STDMETHOD(CreateGroup) (
THIS_
REF(IRMAGroup*) pGroup
) PURE;
pGroup
Returns a pointer to an IRMAGroup interface that manages the group.

IRMAGroupManager::GetCurrentGroup

Gets the current group index.


STDMETHOD(GetCurrentGroup) (
THIS_
REF(UINT16) uGroupIndex
) PURE;
uGroupIndex
Returns the index of the current group.

IRMAGroupManager::GetGroup

Gets the indicated group in the presentation


STDMETHOD(GetGroup) (
THIS_
UINT16 uGroupIndex,
REF(IRMAGroup*) pGroup
) PURE;
uGroupIndex
The index of the group to get.

pGroup
Returns a pointer to an IRMAGroup interface that manages the group.

IRMAGroupManager::GetGroupCount

Gets the number of groups within the presentation.


STDMETHOD_(UINT16,GetGroupCount) (
THIS
) PURE;

IRMAGroupManager::GetPresentationProperties

Gets any presentation information. This information is returned in the indicated IRMAValues interface. This method can return NULL.


STDMETHOD_(IRMAValues*, GetPresentationProperties) (
THIS
) PURE;

IRMAGroupManager::RemoveGroup

Removes an already-added group.


STDMETHOD(RemoveGroup) (
THIS_
UINT16 uGroupIndex
) PURE;
uGroupIndex
The index of the group to remove.

IRMAGroupManager::RemoveSink

Removes the group sink.


STDMETHOD(RemoveSink) (
THIS_
IRMAGroupSink* pGroupSink
) PURE;
pGroupSink
Pointer to the IRMAGroupSink interface to be removed.

IRMAGroupManager::SetCurrentGroup

Plays the indicated group in the presentation.


STDMETHOD(SetCurrentGroup) (
THIS_
UINT16 uGroupIndex
) PURE;
uGroupIndix
The index of the group to play in the presentation.

IRMAGroupManager::SetPresentationProperties

Sets any presentation information, such as title, author, copyright, and so on.


STDMETHOD(SetPresentationProperties) (
THIS_
IRMAValues* pProperties
) PURE;
pProperties
Pointer to an IRMAValues interface that manages the presentation information.

IRMAGroupSink

Purpose: Receives notifications of tracks and groups in a presentation.
Implemented by: Top-level client or rendering plug-ins
Used by: Top-level client
Header file: rmagroup.h

A top-level client can use this interface to receive notifications of tracks added to a group, tracks removed from a group, tracks started or stopped in a group, and groups added to or removed from a presentation.

Additional Information
See "Chapter 20: Top-Level Client" or "Chapter 6: Rendering Plug-In".

The IRMAGroupSink interface contains the following methods:

As with all COM interfaces, the IRMAGroupSink interface inherits the following IUnknown methods:

IRMAGroupSink::AllGroupsRemoved

Indicates all groups have been removed from the current presentation.


STDMETHOD(AllGroupsRemoved) (
THIS
) PURE;

IRMAGroupSink::CurrentGroupSet

Indicates this group is being currently played in the presentation.


STDMETHOD(CurrentGroupSet) (
THIS_
UINT16 uGroupIndex,
IRMAGroup* pGroup
) PURE;
uGroupIndex
The index of the current group.

pGroup
Pointer to an IRMAGroup interface that manages the group.

IRMAGroupSink::GroupAdded

Indicates a new group is being added to the presentation.


STDMETHOD(GroupAdded) (
THIS_
UINT16 uGroupIndex,
IRMAGroup* pGroup
) PURE;
uGroupIndex
The index of the group being added.

pGroup
Pointer to an IRMAGroup interface that manages the indicated group.

IRMAGroupSink::GroupRemoved

Indicates a group is being removed from the presentation.


STDMETHOD(GroupRemoved) (
THIS_
UINT16 uGroupIndex,
IRMAGroup* pGroup
) PURE;
uGroupIndex
The index of the group being removed.

pGroup
Pointer to an IRMAGroup interface that manages the group.

IRMAGroupSink::TrackAdded

Indicates a new track is being added to a group.


STDMETHOD(TrackAdded) (
THIS_
UINT16 uGroupIndex,
UINT16 uTrackIndex,
IRMAValues* pTrack
) PURE;
uGroupIndex
The index of the group to which the track will be added.

uTrackIndex
The index of the track to be added.

pTrack
Pointer to an IRMAValues interface that manages the track information.

IRMAGroupSink::TrackRemoved

Indicates a track is being removed from a group.


STDMETHOD(TrackRemoved) (
THIS_
UINT16 uGroupIndex,
UINT16 uTrackIndex,
IRMAValues* pTrack
) PURE;
uGroupIndex
The index of the group from which the track is being removed.

uTrackIndex
The index of the track being removed.

pTrack
Pointer to the IRMAValues interface that manages the track.

IRMAGroupSink::TrackStarted

Indicates a track is being started (so you can get the duration, for example).


STDMETHOD(TrackStarted) (
THIS_
UINT16 uGroupIndex,
UINT16 uTrackIndex,
IRMAValues* pTrack
) PURE;
uGroupIndex
The index of the group that contains the track being started.

uTrackIndex
The index of the track being started.

pTrack
Pointer to an IRMAValues interface that manages the track being started.

IRMAGroupSink::TrackStopped

Indicates a track is being stopped.


STDMETHOD(TrackStopped) (
THIS_
UINT16 uGroupIndex,
UINT16 uTrackIndex,
IRMAValues* pTrack
) PURE;
uGroupIndex
The index of the group that contains the track being stopped.

uTrackIndex
The index of the track being stopped.

pTrack
Pointer to an IRMAValues interface that manages the track being stopped.

IRMAHyperNavigate

Purpose: Opens a specified URL in the browser
Implemented by: RealSystem Client
Used by: Rendering plug-ins
Header file: rmahyper.h

A rendering plug-in can use this interface to display a URL at a specified time in the stream. When the plug-in issues a hypernavigation request, the default Web browser opens. If the browser is open already, the target URL displays in the current window. The plug-in can also specify that the URL display in a specific frame of the current browser window through the IRMAHyperNavigate::GoToURL method.

Additional Information
See "Hypernavigating".

The IRMAHyperNavigate interface contains the IRMAHyperNavigate::GoToURL method.

As with all COM interfaces, the IRMAHyperNavigate interface inherits the following IUnknown methods:

IRMAHyperNavigate::GoToURL

Opens the default Web browser and displays the target URL.


STDMETHOD(GoToURL) (
THIS_
const char* pURL,
const char* pTarget
) PURE;
pURL
Pointer to a fully-qualified URL, such as http://www.real.com.

pTarget
Pointer to the target frame. To not use a frame, set this parameter to NULL.

IRMAInfoLogger

Purpose: Sends any logging information back to the server
Implemented by: RealSystem client
Used by: Rendering plug-ins
Header file: rmacore.h

This interface is used primarily by renderers for a given source to send statistical information back to the server. The information sent back to the server appears in the server's access log. This interface can be queried from IRMAStreamSource.

The IRMAInfoLogger interface contains the IRMAInfoLogger::LogInformation method.

As with all COM interfaces, the IRMAInfoLogger interface inherits the following IUnknown methods:

IRMAInfoLogger::LogInformation

Logs any user-defined information in the form of an action and associated data.


STDMETHOD(LogInformation) (
THIS_
const char* pAction,
const char* pData
) PURE;
pAction
The action associated with this log, such as seek, pause, play, stop, and so on, or a user-defined action.

pData
Data associated with the specified action, such as time for seek, pause, play, stop, and so on, or user-defined data.

IRMAInterruptSafe

Purpose: Notifies RealSystem of support for interrupt time execution
Implemented by: Renderers, callbacks
Used by: RealSystem client
Header file: rmaengin.h

A component such as a plug-in can implement this optional interface to notify RealSystem that it is safe for the RealSystem to call into this plug-in from multiple threads. On a Macintosh, this interface notifies RealSystem that it supports interrupt time execution. No support is the default if this interface is not implemented.

Additional Information
See Apple's Deferred Task Manager notes for restrictions on what may be executed at interrupt time.

The IRMAInterruptSafe interface contains the IRMAInterruptSafe::IsInterruptSafe method.

As with all COM interfaces, the IRMAInterruptSafe interface inherits the following IUnknown methods:

IRMAInterruptSafe::IsInterruptSafe

Determines if interrupt time execution is supported. The component returns TRUE if interrupt time execution is supported. Returns FALSE if interrupt time execution is not supported.


STDMETHOD_(BOOL,IsInterruptSafe) (
THIS
) PURE;

IRMAInterruptState

Purpose: Notifies components when entering or leaving execution on the main application thread (interrupt task on the Macintosh)
Implemented by: RealSystem client
Used by: RealSystem core, plug-in components
Header file: rmaengin.h

A component such as a plug-in can implement this optional interface to determine if the RealSystem core is at interrupt time or is executing on a thread other than the main application thread. Top-level clients can also use this interface for the client core to aloways execute on the main application thread.

Additional Information
See Apple's Deferred Task Manager for more information about interrupt tasks.

The IRMAInterruptState interface contains the following methods:

As with all COM interfaces, the IRMAInterruptState interface inherits the following IUnknown methods:

IRMAInterruptState::AtInterruptTime

Determines whether the core is currently at interrupt task time. This method returns TRUE if it is interrupt task time.


STDMETHOD_(BOOL,AtInterruptTime) (
THIS
) PURE;

IRMAInterruptState::EnableInterrupt

Enables or disables interrupt time processsing.

STDMETHOD(EnableInterrupt) (


    THIS_
BOOL bEnable
) PURE;
bEnable
If TRUE, enables interrupt time processing. If FALSE, disables interrupt time processing.

Note
On the Macintosh, interrupt time processing is always on.

IRMAInterruptState::EnterInterruptState

Determines if a deferred/interrupt task is being started.


STDMETHOD(EnterInterruptState) (
THIS
) PURE;

IRMAInterruptState::IsInterruptEnabled

Determines if the core is currently interrupt enabled. If this method returns TRUE, the core is currently interrupt enabled.


STDMETHOD_(BOOL, IsInterruptEnabled) (
THIS
) PURE;

IRMAInterruptState::LeaveInterruptState

Determines if a deferred/interrupt task is being left.


STDMETHOD(LeaveInterruptState) (
THIS
) PURE;

IRMAKeyValueList

This interface is currently not implemented and is intended for future use.

IRMAKeyValueListIter

This interface is currently not implemented and is intended for future use.

IRMAKeyValueListIterOneKey

This interface is currently not implemented and is intended for future use.

IRMAListenResponse

Purpose: Receives notice of TCP connections on a port
Implemented by: Any component
Used by: TCP listen object (Network Services)
Header file: rmaengin.h

Used with Network Services, this is the response interface to IRMAListenSocket. After the component creates a listen object with IRMANetworkServices and initializes the object for a specific port with IRMAListenSocket, the listen object notifies the component through this interface when a TCP connection is made on that port.

Additional Information
See "Chapter 14: Network Services". See also IRMATCPResponse.

The IRMAListenResponse interface contains the IRMAListenResponse::NewConnection method.

As with all COM interfaces, the IRMAListenResponse interface inherits the following IUnknown methods:

IRMAListenResponse::NewConnection

Indicates whether a TCP connection has been made on the port.


STDMETHOD(NewConnection) (
THIS_
PN_RESULT status,
IRMATCPSocket* pTCPSocket
) PURE;
status
Contains the response status to the IRMAListenSocket::Init operation. If this parameter is PNR_OK, the call completed successfully.

pTCPSocket
Pointer to an IRMATCPSocket interface that manages the read and write operations to the TCP socket.

IRMAListenSocket

Purpose: Sets up a component to listen for TCP connections on a port
Implemented by: TCP listen object (Network Services)
Used by: Any component
Header file: rmaengin.h

This interface is part of Network Services. Any component that needs to listen for TCP connections on a RealServer port can use this interface. The component first creates a listen object with IRMANetworkServices, then initializes the object for a specific port with this interface. The listen object then notifies the component through IRMAListenResponse when a TCP connection is made on that port.

Additional Information
See "Chapter 14: Network Services". See also IRMATCPSocket.

The IRMAListenSocket interface contains the IRMAListenSocket::Init method.

As with all COM interfaces, the IRMAListenSocket interface inherits the following IUnknown methods:

IRMAListenSocket::Init

Initializes the listen object for a specific port.


STDMETHOD(Init) (
THIS_
UINT32 ulLocalAddr,
UINT16 port,
IRMAListenResponse* pListenResponse
) PURE;
ulLocalAddr
Information not yet available at publication.

port
Information not yet available at publication.

pListenResponse
Pointer to an IRMAListenResponse interface that notifies the component when a TCP connection is made on that port.


Copyright © 2000 RealNetworks
For technical support, please contact supportsdk@real.com.
This file last updated on 05/17/00 at 12:50:31.
previous next