/*
* Copyright (C) 2010 Teleal GmbH, Switzerland
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.teleal.cling.support.model;
import org.teleal.cling.model.types.UnsignedIntegerFourBytes;
import org.teleal.cling.model.action.ActionArgumentValue;
import java.util.Map;
/**
*
*/
public class MediaInfo {
private String currentURI = "";
private String currentURIMetaData = "";
private String nextURI = "NOT_IMPLEMENTED";
private String nextURIMetaData = "NOT_IMPLEMENTED";
private UnsignedIntegerFourBytes numberOfTracks = new UnsignedIntegerFourBytes(0);
private String mediaDuration = "00:00:00";
private StorageMedium playMedium = StorageMedium.NONE;
private StorageMedium recordMedium = StorageMedium.NOT_IMPLEMENTED;
private RecordMediumWriteStatus writeStatus = RecordMediumWriteStatus.NOT_IMPLEMENTED;
public MediaInfo() {
}
public MediaInfo(Map<String, ActionArgumentValue> args) {
this(
(String) args.get("CurrentURI").getValue(),
(String) args.get("CurrentURIMetaData").getValue(),
(String) args.get("NextURI").getValue(),
(String) args.get("NextURIMetaData").getValue(),
(UnsignedIntegerFourBytes) args.get("NrTracks").getValue(),
(String) args.get("MediaDuration").getValue(),
StorageMedium.valueOrVendorSpecificOf((String) args.get("PlayMedium").getValue()),
StorageMedium.valueOrVendorSpecificOf((String) args.get("RecordMedium").getValue()),
RecordMediumWriteStatus.valueOrUnknownOf((String) args.get("WriteStatus").getValue())
);
}
public MediaInfo(String currentURI, String currentURIMetaData) {
this.currentURI = currentURI;
this.currentURIMetaData = currentURIMetaData;
}
public MediaInfo(String currentURI, String currentURIMetaData,
UnsignedIntegerFourBytes numberOfTracks, String mediaDuration,
StorageMedium playMedium) {
this.currentURI = currentURI;
this.currentURIMetaData = currentURIMetaData;
this.numberOfTracks = numberOfTracks;
this.mediaDuration = mediaDuration;
this.playMedium = playMedium;
}
public MediaInfo(String currentURI, String currentURIMetaData,
UnsignedIntegerFourBytes numberOfTracks, String mediaDuration,
StorageMedium playMedium,
StorageMedium recordMedium, RecordMediumWriteStatus writeStatus) {
this.currentURI = currentURI;
this.currentURIMetaData = currentURIMetaData;
this.numberOfTracks = numberOfTracks;
this.mediaDuration = mediaDuration;
this.playMedium = playMedium;
this.recordMedium = recordMedium;
this.writeStatus = writeStatus;
}
public MediaInfo(String currentURI, String currentURIMetaData,
String nextURI, String nextURIMetaData,
UnsignedIntegerFourBytes numberOfTracks, String mediaDuration,
StorageMedium playMedium) {
this.currentURI = currentURI;
this.currentURIMetaData = currentURIMetaData;
this.nextURI = nextURI;
this.nextURIMetaData = nextURIMetaData;
this.numberOfTracks = numberOfTracks;
this.mediaDuration = mediaDuration;
this.playMedium = playMedium;
}
public MediaInfo(String currentURI, String currentURIMetaData,
String nextURI, String nextURIMetaData,
UnsignedIntegerFourBytes numberOfTracks, String mediaDuration,
StorageMedium playMedium,
StorageMedium recordMedium, RecordMediumWriteStatus writeStatus) {
this.currentURI = currentURI;
this.currentURIMetaData = currentURIMetaData;
this.nextURI = nextURI;
this.nextURIMetaData = nextURIMetaData;
this.numberOfTracks = numberOfTracks;
this.mediaDuration = mediaDuration;
this.playMedium = playMedium;
this.recordMedium = recordMedium;
this.writeStatus = writeStatus;
}
public String getCurrentURI() {
return currentURI;
}
public String getCurrentURIMetaData() {
return currentURIMetaData;
}
public String getNextURI() {
return nextURI;
}
public String getNextURIMetaData() {
return nextURIMetaData;
}
public UnsignedIntegerFourBytes getNumberOfTracks() {
return numberOfTracks;
}
public String getMediaDuration() {
return mediaDuration;
}
public StorageMedium getPlayMedium() {
return playMedium;
}
public StorageMedium getRecordMedium() {
return recordMedium;
}
public RecordMediumWriteStatus getWriteStatus() {
return writeStatus;
}
}