#include <string>
#include "pbd/statefuldestructible.h"
#include "pbd/signals.h"
+#include "pbd/properties.h"
#include "ardour/ardour.h"
#include "ardour/session_handle.h"
-#include "i18n.h"
-
namespace ARDOUR {
namespace Properties {
- extern PBD::PropertyDescriptor<std::string> name;
+ LIBARDOUR_API extern PBD::PropertyDescriptor<std::string> name;
}
class Session;
expected to be destroyed before the session calls drop_references().
*/
-class SessionObject : public SessionHandleRef, public PBD::StatefulDestructible
+class LIBARDOUR_API SessionObject : public SessionHandleRef, public PBD::StatefulDestructible
{
public:
static void make_property_quarks ();
SessionObject (Session& session, const std::string& name)
: SessionHandleRef (session)
- , _name (Properties::name, PBD::PropertyChange (0), name)
+ , _name (Properties::name, name)
{
add_property (_name);
}
-
+
Session& session() const { return _session; }
std::string name() const { return _name; }
- PBD::PropertyChange set_property (const PBD::PropertyBase& prop);
-
virtual bool set_name (const std::string& str) {
if (_name != str) {
_name = str;
- NameChanged();
+ PropertyChanged (PBD::PropertyChange (Properties::name));
}
return true;
}
- PBD::Signal0<void> NameChanged;
-
protected:
PBD::Property<std::string> _name;
};