diff options
author | Sakari Bergen <sakari.bergen@beatwaves.net> | 2011-06-11 14:14:24 +0000 |
---|---|---|
committer | Sakari Bergen <sakari.bergen@beatwaves.net> | 2011-06-11 14:14:24 +0000 |
commit | 7468fdb9ca9892cec9b298690bf0edf3655d6453 (patch) | |
tree | abff397fae4e6f8c0f51a7ae71c097b6f0ad2271 /libs/ardour/ardour/export_pointers.h | |
parent | 47e2b9db77ff88b0b15f942e751e56322a2887e6 (diff) |
Typedef all globally used export smart pointer types in one file.
Some of them need to be ordered in STL containers, and thus need
a special comparable wrapper for boost::shared_ptr, defined in
comparable_shared_ptr.h. This also alleviates the typedef hell
present earlier in some export classes :)
Making the timespan pointer comparable should fix bug #4093
git-svn-id: svn://localhost/ardour2/branches/3.0@9702 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/export_pointers.h')
-rw-r--r-- | libs/ardour/ardour/export_pointers.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/libs/ardour/ardour/export_pointers.h b/libs/ardour/ardour/export_pointers.h new file mode 100644 index 0000000000..edd7f91325 --- /dev/null +++ b/libs/ardour/ardour/export_pointers.h @@ -0,0 +1,66 @@ +/* + Copyright (C) 2011 Paul Davis + Author: Sakari Bergen + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#ifndef __ardour_export_pointers_h__ +#define __ardour_export_pointers_h__ + +#include <boost/operators.hpp> +#include <boost/shared_ptr.hpp> +#include <boost/weak_ptr.hpp> + +#include "ardour/comparable_shared_ptr.h" + +namespace AudioGrapher { + class BroadcastInfo; +} + +namespace ARDOUR { + +class ExportTimespan; +class ExportChannel; +class ExportChannelConfiguration; +class ExportFormat; +class ExportFormatBase; +class ExportFormatSpecification; +class ExportFormatCompatibility; +class ExportFilename; +class ExportStatus; +class ExportPreset; + +typedef ComparableSharedPtr<ExportChannel> ExportChannelPtr; +typedef ComparableSharedPtr<ExportTimespan> ExportTimespanPtr; + +typedef boost::shared_ptr<ExportChannelConfiguration> ExportChannelConfigPtr; +typedef boost::shared_ptr<ExportFormatBase> ExportFormatBasePtr; +typedef boost::shared_ptr<ExportFormat> ExportFormatPtr; +typedef boost::shared_ptr<ExportFormatSpecification> ExportFormatSpecPtr; +typedef boost::shared_ptr<ExportFormatCompatibility> ExportFormatCompatibilityPtr; +typedef boost::shared_ptr<ExportFilename> ExportFilenamePtr; +typedef boost::shared_ptr<ExportStatus> ExportStatusPtr; +typedef boost::shared_ptr<ExportPreset> ExportPresetPtr; + +typedef boost::weak_ptr<ExportFormatCompatibility> WeakExportFormatCompatibilityPtr; +typedef boost::weak_ptr<ExportFormat> WeakExportFormatPtr; + +typedef boost::shared_ptr<AudioGrapher::BroadcastInfo> BroadcastInfoPtr; + +} // namespace ARDOUR + +#endif // __ardour_export_pointers_h__ |