IMediaSource

IMediaDescription Description { get; set; }

Description - The media description associated with this source.

List<string> FileExtensions { get; }

Description - A list of file extensions that this media source supports, each in the form ".extension_name".

string MediaTypeId { get; }

Description- A user friendly name foe this media source. I.e for a media source that handles PNGs, "PNG Image".

bool IsAquired { get; set; }

Description- True if a media source with Description.IsLocal has been aquired, else false.

void Display(IMaterialAppliable target, int materialGroupId, string documentPath, IParkEngine parkEngine);

Description- Should attemp to apply this media source on the given target's given material group.
'target'- The IMML element to which the source will be applied.
'materialGroupId'- The material group index that the source will be applied to.
'documentPath'- The path that local documents are contained in.
'parkEngine'- An IParkEngine.

void Remove(IMaterialAppliable target, int materialGroupId, string documentPath, IParkEngine parkEngine);

Description- Should attemp to remove this media source on the given target's given material group.
'target'- The IMML element to which the source will be removed.
'materialGroupId'- The material group index that the source will be removed from.
'documentPath'- The path that local documents are contained in.
'parkEngine'- An IParkEngine.

bool SaveLocal(string sourcePath, string destinationPath);

Description- Handles saving a local file. More of a copy than a save.
'sourcePath'- The path of the file that needs saving.
*'destinationPath'- The path that the file should be saved to.

bool SaveRemote(string destinationPath);

Description- Saves the source to the destination path. The media file is taken to be remote from the client, found at Description.Source.
'destinationPath'- The path to save the file to.

void Open();

Desription- Should attempt to open the Description.Source for the user to see.

bool IsOpen { get; }

Description- True if open has been called, and has not yet been closed.

void Close();

Description- Should attemp to close the source after a call to Open. Will be called automatically if source is changed and existing source is opened, or if screen is cleared while source is open.

void Dispose();

void Update(IMediaSourceUpdateArgs updateArgs, string documentPath);

Description- Attempts to update the media source, which can change the persistent state of the underlying media file.
'updateArgs'- Update arguments used to update the media source.
'documentPath'- The path of the directory where the media source is stored. If it is a remote source, this will be passed in as null.

void Update(IMediaDescription updateArgs);

Description- Attempts to update the media description, which can store persistent information about the state of the media item, but should not affect the underlying file. For example, modifying the current slide of a powerpoint presentation.
'updateArgs'- A fully updated media description.

event Event<IMediaSourceUpdateArgs> SourceUpdated;

Description- Raised when a media source has finished updating.

event Event<IMediaDescription> DescriptionUpdated;

Description- Raised when a media description has finished updating.