From 7468fdb9ca9892cec9b298690bf0edf3655d6453 Mon Sep 17 00:00:00 2001 From: Sakari Bergen Date: Sat, 11 Jun 2011 14:14:24 +0000 Subject: 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 --- libs/ardour/ardour/export_pointers.h | 66 ++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 libs/ardour/ardour/export_pointers.h (limited to 'libs/ardour/ardour/export_pointers.h') 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 +#include +#include + +#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 ExportChannelPtr; +typedef ComparableSharedPtr ExportTimespanPtr; + +typedef boost::shared_ptr ExportChannelConfigPtr; +typedef boost::shared_ptr ExportFormatBasePtr; +typedef boost::shared_ptr ExportFormatPtr; +typedef boost::shared_ptr ExportFormatSpecPtr; +typedef boost::shared_ptr ExportFormatCompatibilityPtr; +typedef boost::shared_ptr ExportFilenamePtr; +typedef boost::shared_ptr ExportStatusPtr; +typedef boost::shared_ptr ExportPresetPtr; + +typedef boost::weak_ptr WeakExportFormatCompatibilityPtr; +typedef boost::weak_ptr WeakExportFormatPtr; + +typedef boost::shared_ptr BroadcastInfoPtr; + +} // namespace ARDOUR + +#endif // __ardour_export_pointers_h__ -- cgit v1.2.3