diff --git a/aegisub/audio_player_alsa.h b/aegisub/audio_player_alsa.h index 1cd796374468ee5fb00573ffc30b151965cdfd96..5efc1e353c1e7b30f6ea48ec5bac93a8606b723f 100644 --- a/aegisub/audio_player_alsa.h +++ b/aegisub/audio_player_alsa.h @@ -109,7 +109,6 @@ public: class AlsaPlayerFactory : public AudioPlayerFactory { public: AudioPlayer *CreatePlayer() { return new AlsaPlayer(); } - AlsaPlayerFactory() : AudioPlayerFactory(_T("alsa")) {} }; #endif diff --git a/aegisub/audio_player_openal.h b/aegisub/audio_player_openal.h index 5d6aa2245669aad7f5fc1db8a2c74955271a79b3..67ec21f59ad4b7ac57723c09b7094addbd241cc0 100644 --- a/aegisub/audio_player_openal.h +++ b/aegisub/audio_player_openal.h @@ -122,7 +122,6 @@ public: class OpenALPlayerFactory : public AudioPlayerFactory { public: AudioPlayer *CreatePlayer() { return new OpenALPlayer(); } - OpenALPlayerFactory() : AudioPlayerFactory(_T("openal")) {} }; #endif diff --git a/aegisub/audio_player_portaudio.h b/aegisub/audio_player_portaudio.h index b08445c15fc280ce807bd70e6974845ddc4eebb7..7f723390c4f5c19f4fce4b4e8e7c655d746a02d6 100644 --- a/aegisub/audio_player_portaudio.h +++ b/aegisub/audio_player_portaudio.h @@ -103,7 +103,6 @@ public: class PortAudioPlayerFactory : public AudioPlayerFactory { public: AudioPlayer *CreatePlayer() { return new PortAudioPlayer(); } - PortAudioPlayerFactory() : AudioPlayerFactory(_T("portaudio")) {} }; #endif diff --git a/aegisub/audio_player_pulse.h b/aegisub/audio_player_pulse.h index 97b50779d47c97ef0da12abf12fd6aff605d9569..22031f08f686a0725d253c1ad2415bd91b05a5ce 100644 --- a/aegisub/audio_player_pulse.h +++ b/aegisub/audio_player_pulse.h @@ -124,7 +124,6 @@ public: class PulseAudioPlayerFactory : public AudioPlayerFactory { public: AudioPlayer *CreatePlayer() { return new PulseAudioPlayer(); } - PulseAudioPlayerFactory() : AudioPlayerFactory(_T("pulse")) {} }; #endif diff --git a/aegisub/audio_provider_lavc.h b/aegisub/audio_provider_lavc.h index 15d50778f2b15109d4f1ea015bc880e7cd75337b..45efd23574d913e607a05109745a8abde1d2ff71 100644 --- a/aegisub/audio_provider_lavc.h +++ b/aegisub/audio_provider_lavc.h @@ -89,7 +89,6 @@ public: class LAVCAudioProviderFactory : public AudioProviderFactory { public: AudioProvider *CreateProvider(wxString file) { return new LAVCAudioProvider(file); } - LAVCAudioProviderFactory() : AudioProviderFactory(_T("lavc")) {} }; #endif diff --git a/aegisub/factory.h b/aegisub/factory.h deleted file mode 100644 index c79a36ce45153511e926ebda8c0094f6025d4880..0000000000000000000000000000000000000000 --- a/aegisub/factory.h +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright (c) 2007, Rodrigo Braz Monteiro -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of the Aegisub Group nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// -// ----------------------------------------------------------------------------- -// -// AEGISUB -// -// Website: http://aegisub.cellosoft.com -// Contact: mailto:zeratul@cellosoft.com -// - - -#pragma once - - -/////////// -// Headers -#include <map> -#include <wx/string.h> -#include <wx/arrstr.h> - - -///////////////// -// Factory class -template <class T> -class AegisubFactory { -protected: - // Static map of all factories - static std::map<wxString,T*> *factories; - - // Register one factory type (with possible subtypes) - void RegisterFactory(wxString name, wxArrayString subTypes=wxArrayString()) { - // Create factories if it doesn't exist - if (factories == NULL) factories = new std::map<wxString,T*>; - - // Prepare subtypes - if (subTypes.GetCount() == 0) subTypes.Add(_T("")); - else { - for (unsigned int i=0;i<subTypes.GetCount();i++) { - subTypes[i] = _T("/") + subTypes[i]; - } - } - - // Insert each subtype - for (unsigned int i=0;i<subTypes.GetCount();i++) { - factories->insert(std::make_pair(name.Lower() + subTypes[i],(T*)this)); - } - } - - // Get a factory with name - static T *GetFactory(wxString name) { - // No factories - if (factories == NULL) { - factories = new std::map<wxString,T*>; - return NULL; - } - - // Search for factory that matches - typename std::map<wxString,T*>::iterator cur; - for (cur = factories->begin();cur != factories->end();cur++) { - if (cur->first.StartsWith(name)) return cur->second; - } - - // None found - return NULL; - } - -public: - // Virtual destructor - virtual ~AegisubFactory() {} - - // Get list of all factories, with favourite as first - static wxArrayString GetFactoryList(wxString favourite=_T("")) { - if (factories == NULL) factories = new std::map<wxString,T*>; - wxArrayString list; - favourite = favourite.Lower(); - for (typename std::map<wxString,T*>::iterator cur=factories->begin();cur!=factories->end();cur++) { - if (cur->first == favourite) list.Insert(cur->first,0); - else list.Add(cur->first); - } - return list; - } -}; diff --git a/aegisub/subtitles_provider_libass.h b/aegisub/subtitles_provider_libass.h index 0cdb0ccc39146a62d733d682f790f88b9db6685c..201b943246964fca7c2a4af27a2e090c0a6517e7 100644 --- a/aegisub/subtitles_provider_libass.h +++ b/aegisub/subtitles_provider_libass.h @@ -76,7 +76,6 @@ public: class LibassSubtitlesProviderFactory : public SubtitlesProviderFactory { public: SubtitlesProvider *CreateProvider(wxString subType=_T("")) { return new LibassSubtitlesProvider(); } - LibassSubtitlesProviderFactory() : SubtitlesProviderFactory(_T("libass")) {} }; #endif diff --git a/aegisub/video_provider_lavc.h b/aegisub/video_provider_lavc.h index 82ff78dd922907fff696aa9bfc23c9937b0b6e72..45951b26b510f55bbf115ec55d3ee7f8eb9f1586 100644 --- a/aegisub/video_provider_lavc.h +++ b/aegisub/video_provider_lavc.h @@ -117,7 +117,6 @@ public: class LAVCVideoProviderFactory : public VideoProviderFactory { public: VideoProvider *CreateProvider(wxString video,double fps=0.0) { return new LAVCVideoProvider(video,fps); } - LAVCVideoProviderFactory() : VideoProviderFactory(_T("ffmpeg")) {} }; #endif