using namespace dash::mpd;
using namespace dash::exception;
-Group::Group (std::map<std::string, std::string> attributes)
+Group::Group ( const std::map<std::string, std::string>& attributes) :
+ attributes( attributes ),
+ contentProtection( NULL ),
+ accessibility( NULL ),
+ viewpoint( NULL ),
+ rating( NULL )
{
- this->attributes = attributes;
- this->contentProtection = NULL;
- this->accessibility = NULL;
- this->viewpoint = NULL;
- this->rating = NULL;
}
+
Group::~Group ()
{
for(size_t i = 1; i < this->representations.size(); i++)
delete(this->accessibility);
}
-std::string Group::getWidth () throw(AttributeNotPresentException)
-{
- if(this->attributes.find("width") == this->attributes.end())
- throw AttributeNotPresentException();
-
- return this->attributes["width"];
-}
-std::string Group::getNumberOfChannels () throw(AttributeNotPresentException)
-{
- if(this->attributes.find("numberOfChannels") == this->attributes.end())
- throw AttributeNotPresentException();
-
- return this->attributes["numberOfChannels"];
-}
-std::string Group::getLang () throw(AttributeNotPresentException)
-{
- if(this->attributes.find("lang") == this->attributes.end())
- throw AttributeNotPresentException();
-
- return this->attributes["lang"];
-}
-std::string Group::getParY () throw(AttributeNotPresentException)
-{
- if(this->attributes.find("pary") == this->attributes.end())
- throw AttributeNotPresentException();
-
- return this->attributes["pary"];
-}
-std::string Group::getParX () throw(AttributeNotPresentException)
-{
- if(this->attributes.find("parx") == this->attributes.end())
- throw AttributeNotPresentException();
-
- return this->attributes["parx"];
-}
-std::string Group::getSamplingRate () throw(AttributeNotPresentException)
-{
- if(this->attributes.find("samplingRate") == this->attributes.end())
- throw AttributeNotPresentException();
-
- return this->attributes["samplingRate"];
-}
-std::string Group::getMimeType () throw(AttributeNotPresentException)
-{
- if(this->attributes.find("mimeType") == this->attributes.end())
- throw AttributeNotPresentException();
-
- return this->attributes["mimeType"];
-}
std::string Group::getSubSegmentAlignment () throw(AttributeNotPresentException)
{
if(this->attributes.find("subsegmentAlignmentFlag") == this->attributes.end())
return this->attributes["subsegmentAlignmentFlag"];
}
-std::string Group::getFrameRate () throw(AttributeNotPresentException)
-{
- if(this->attributes.find("frameRate") == this->attributes.end())
- throw AttributeNotPresentException();
-
- return this->attributes["frameRate"];
-}
-std::string Group::getHeight () throw(AttributeNotPresentException)
-{
- if(this->attributes.find("height") == this->attributes.end())
- throw AttributeNotPresentException();
- return this->attributes["height"];
-}
Viewpoint* Group::getViewpoint () throw(ElementNotPresentException)
{
if(this->viewpoint == NULL)
return this->viewpoint;
}
+
Rating* Group::getRating () throw(ElementNotPresentException)
{
if(this->rating == NULL)
return this->rating;
}
+
Accessibility* Group::getAccessibility () throw(ElementNotPresentException)
{
if(this->accessibility == NULL)
return this->accessibility;
}
-ContentProtection* Group::getContentProtection () throw(ElementNotPresentException)
-{
- if(this->contentProtection == NULL)
- throw ElementNotPresentException();
- return this->contentProtection;
-}
std::vector<Representation*> Group::getRepresentations ()
{
return this->representations;
}
+
void Group::addRepresentation (Representation *rep)
{
this->representations.push_back(rep);
}
+
void Group::setRating (Rating *rating)
{
this->rating = rating;
}
+
void Group::setContentProtection (ContentProtection *protection)
{
this->contentProtection = protection;
}
+
void Group::setAccessibility (Accessibility *accessibility)
{
this->accessibility = accessibility;
}
+
void Group::setViewpoint (Viewpoint *viewpoint)
{
this->viewpoint = viewpoint;
#include <map>
#include "mpd/Representation.h"
+#include "mpd/CommonAttributesElements.h"
#include "mpd/ContentProtection.h"
#include "mpd/Accessibility.h"
#include "mpd/Viewpoint.h"
{
namespace mpd
{
- class Group
+ class Group : public CommonAttributesElements
{
public:
- Group (std::map<std::string, std::string> attributes);
+ Group (const std::map<std::string, std::string>& attributes);
virtual ~Group ();
- std::string getWidth () throw(dash::exception::AttributeNotPresentException);
- std::string getHeight () throw(dash::exception::AttributeNotPresentException);
- std::string getParX () throw(dash::exception::AttributeNotPresentException);
- std::string getParY () throw(dash::exception::AttributeNotPresentException);
- std::string getLang () throw(dash::exception::AttributeNotPresentException);
- std::string getMimeType () throw(dash::exception::AttributeNotPresentException);
- std::string getFrameRate () throw(dash::exception::AttributeNotPresentException);
- std::string getNumberOfChannels () throw(dash::exception::AttributeNotPresentException);
- std::string getSamplingRate () throw(dash::exception::AttributeNotPresentException);
std::string getSubSegmentAlignment () throw(dash::exception::AttributeNotPresentException);
std::vector<Representation *> getRepresentations ();
Viewpoint* getViewpoint () throw(dash::exception::ElementNotPresentException);
- ContentProtection* getContentProtection () throw(dash::exception::ElementNotPresentException);
Accessibility* getAccessibility () throw(dash::exception::ElementNotPresentException);
Rating* getRating () throw(dash::exception::ElementNotPresentException);