File indexing completed on 2024-05-05 04:48:19

0001 /****************************************************************************************
0002  * Copyright (c) 2010 Maximilian Kossick <maximilian.kossick@googlemail.com>            *
0003  *                                                                                      *
0004  * This program is free software; you can redistribute it and/or modify it under        *
0005  * the terms of the GNU General Public License as published by the Free Software        *
0006  * Foundation; either version 2 of the License, or (at your option) any later           *
0007  * version.                                                                             *
0008  *                                                                                      *
0009  * This program is distributed in the hope that it will be useful, but WITHOUT ANY      *
0010  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A      *
0011  * PARTICULAR PURPOSE. See the GNU General Public License for more details.             *
0012  *                                                                                      *
0013  * You should have received a copy of the GNU General Public License along with         *
0014  * this program.  If not, see <http://www.gnu.org/licenses/>.                           *
0015  ****************************************************************************************/
0016 
0017 #ifndef AMAROK_COMPONENTS_H
0018 #define AMAROK_COMPONENTS_H
0019 
0020 #include "core/amarokcore_export.h"
0021 
0022 namespace Amarok
0023 {
0024     class ApplicationController;
0025 }
0026 
0027 namespace Collections
0028 {
0029     class CollectionLocationDelegate;
0030 }
0031 
0032 namespace Transcoding
0033 {
0034     class Controller;
0035 }
0036 
0037 namespace StatSyncing
0038 {
0039     class Controller;
0040 }
0041 
0042 class CollectionManager;
0043 class EngineController;
0044 class SqlStorage;
0045 
0046 namespace Amarok
0047 {
0048     namespace Components
0049     {
0050         AMAROKCORE_EXPORT CollectionManager *collectionManager();
0051         AMAROKCORE_EXPORT CollectionManager *setCollectionManager( CollectionManager *mgr );
0052 
0053         AMAROKCORE_EXPORT EngineController *engineController();
0054         AMAROKCORE_EXPORT EngineController *setEngineController( EngineController *controller );
0055 
0056         AMAROKCORE_EXPORT SqlStorage *sqlStorage();
0057         AMAROKCORE_EXPORT SqlStorage *setSqlStorage( SqlStorage *storage );
0058 
0059         AMAROKCORE_EXPORT Amarok::ApplicationController *applicationController();
0060         AMAROKCORE_EXPORT Amarok::ApplicationController *setApplicationController( Amarok::ApplicationController *controller );
0061 
0062         AMAROKCORE_EXPORT Collections::CollectionLocationDelegate *collectionLocationDelegate();
0063         AMAROKCORE_EXPORT Collections::CollectionLocationDelegate *setCollectionLocationDelegate( Collections::CollectionLocationDelegate *delegate );
0064 
0065         AMAROKCORE_EXPORT Transcoding::Controller *transcodingController();
0066         AMAROKCORE_EXPORT Transcoding::Controller *setTranscodingController( Transcoding::Controller *controller );
0067 
0068         AMAROKCORE_EXPORT StatSyncing::Controller *statSyncingController();
0069         AMAROKCORE_EXPORT StatSyncing::Controller *setStatSyncingController( StatSyncing::Controller *controller );
0070     }
0071 }
0072 
0073 #endif