00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __TScoreInstrument__
00026 #define __TScoreInstrument__
00027
00028 #include "exports.h"
00029 #include "smartpointer.h"
00030 #include "TScoreVisitor.h"
00031 #include <string>
00032
00033 namespace MusicXML
00034 {
00053 class EXP TScoreInstrument : public visitable, public smartable {
00054
00055 public:
00056 EXP friend SMARTP<TScoreInstrument> newScoreInstrument(string id);
00057
00058 virtual void accept(TScoreVisitor& visitor);
00059
00061 void setID(const string& id);
00063 void setName(const string& name);
00065 void setAbbrev(const string& abbrev);
00066
00067 const string& getID() const { return fID; }
00068 const string& getName() const { return fName; }
00069 const string& getAbbrev() const { return fAbbrev; }
00070
00071 protected:
00072 TScoreInstrument(string id) : fID(id) {}
00073 virtual ~TScoreInstrument() {}
00074 private:
00075 string fID;
00076 string fName;
00077 string fAbbrev;
00078 };
00079 typedef SMARTP<TScoreInstrument> SScoreInstrument;
00080
00081 }
00082
00083
00084 #endif