00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#include <kdebug.h>
00021
00022
#include "kdevapi.h"
00023
#include "kdevversioncontrol.h"
00024
#include "kdevcoderepository.h"
00025
00026
00028
00030
00031 typedef QMap<QString,KDevVersionControl*> VersionControlMap;
00032
00034
00036
00037 class KDevApiPrivate
00038 {
00039
public:
00040
00041 KDevApiPrivate()
00042 :
m_projectDom(0),
m_project(0),
m_makeFrontend(0),
00043
m_appFrontend(0),
m_languageSupport(0),
m_versionControl(0),
00044
m_diffFrontend(0),
m_createFile(0),
m_sourceFormatter(0),
m_codeRepository(0)
00045 {}
00046
00047 QDomDocument *
m_projectDom;
00048 KDevProject *
m_project;
00049 KDevMakeFrontend *
m_makeFrontend;
00050 KDevAppFrontend *
m_appFrontend;
00051 KDevLanguageSupport *
m_languageSupport;
00052 KDevVersionControl *
m_versionControl;
00053 KDevDiffFrontend *
m_diffFrontend;
00054 KDevCreateFile *
m_createFile;
00055 KDevSourceFormatter *
m_sourceFormatter;
00056 VersionControlMap m_registeredVcs;
00057 KDevCodeRepository*
m_codeRepository;
00058 };
00059
00061
00063
00064 KDevApi::KDevApi()
00065 {
00066
d =
new KDevApiPrivate;
00067
d->
m_codeRepository =
new KDevCodeRepository();
00068 }
00069
00071
00072 KDevApi::~KDevApi()
00073 {
00074
delete d->
m_codeRepository;
00075
delete d;
00076 }
00077
00079
00080 KDevProject *
KDevApi::project()
const
00081
{
00082
return d->
m_project;
00083 }
00084
00086
00087 void KDevApi::setProject(
KDevProject *project)
00088 {
00089
d->
m_project = project;
00090 }
00091
00093
00094 KDevMakeFrontend *
KDevApi::makeFrontend()
const
00095
{
00096
return d->
m_makeFrontend;
00097 }
00098
00100
00101 void KDevApi::setMakeFrontend(
KDevMakeFrontend *makeFrontend)
00102 {
00103
d->
m_makeFrontend = makeFrontend;
00104 }
00105
00107
00108 KDevAppFrontend *
KDevApi::appFrontend()
const
00109
{
00110
return d->
m_appFrontend;
00111 }
00112
00114
00115 void KDevApi::setAppFrontend(
KDevAppFrontend *appFrontend)
00116 {
00117
d->
m_appFrontend = appFrontend;
00118 }
00119
00121
00122 KDevLanguageSupport *
KDevApi::languageSupport()
const
00123
{
00124
return d->
m_languageSupport;
00125 }
00126
00128
00129 void KDevApi::setLanguageSupport(
KDevLanguageSupport *languageSupport)
00130 {
00131
d->
m_languageSupport = languageSupport;
00132 }
00133
00135
00136 KDevVersionControl *
KDevApi::versionControl()
const
00137
{
00138
return d->
m_versionControl;
00139 }
00140
00142
00143 void KDevApi::setVersionControl(
KDevVersionControl *vcs )
00144 {
00145
d->
m_versionControl = vcs;
00146 }
00147
00149
00150 void KDevApi::registerVersionControl(
KDevVersionControl *vcs )
00151 {
00152
d->
m_registeredVcs.insert( vcs->
uid(), vcs );
00153 }
00154
00156
00157 void KDevApi::unregisterVersionControl(
KDevVersionControl *vcs )
00158 {
00159
if( vcs ==
d->
m_versionControl )
00160
setVersionControl( 0 );
00161
d->
m_registeredVcs.remove( vcs->
uid() );
00162 }
00163
00165
00166 QStringList KDevApi::registeredVersionControls()
const
00167
{
00168
QStringList foundVersionControls;
00169
00170
00171
const VersionControlMap &availableVcs =
d->
m_registeredVcs;
00172
00173
kdDebug( 9000 ) <<
" ** Starting examining services ..." <<
endl;
00174
00175
for(VersionControlMap::const_iterator it( availableVcs.begin() ); it != availableVcs.end(); ++it)
00176 {
00177
KDevVersionControl *vcs = (*it);
00178 foundVersionControls.append( vcs->
uid() );
00179
kdDebug( 9000 ) <<
" =====> Found VCS: " << vcs->
uid() <<
endl;
00180 }
00181
00182
return foundVersionControls;
00183 }
00184
00186
00187 KDevVersionControl *
KDevApi::versionControlByName(
const QString &uid )
const
00188
{
00189
return d->
m_registeredVcs[ uid ];
00190 }
00191
00193
00194 KDevDiffFrontend *
KDevApi::diffFrontend()
const
00195
{
00196
return d->
m_diffFrontend;
00197 }
00198
00200
00201 void KDevApi::setDiffFrontend(
KDevDiffFrontend *diffFrontend)
00202 {
00203
d->
m_diffFrontend = diffFrontend;
00204 }
00205
00207
00208 QDomDocument *
KDevApi::projectDom()
const
00209
{
00210
return d->
m_projectDom;
00211 }
00212
00214
00215 void KDevApi::setProjectDom(
QDomDocument *dom)
00216 {
00217
d->
m_projectDom = dom;
00218 }
00219
00221
00222 void KDevApi::setCreateFile(
KDevCreateFile *createFile)
00223 {
00224
d->
m_createFile = createFile;
00225 }
00226
00228
00229 KDevCreateFile *
KDevApi::createFile()
const
00230
{
00231
return d->
m_createFile;
00232 }
00233
00235
00236 KDevSourceFormatter *
KDevApi::sourceFormatter()
const
00237
{
00238
return d->
m_sourceFormatter;
00239 }
00240
00242
00243 void KDevApi::setSourceFormatter(
KDevSourceFormatter *sourceFormatter)
00244 {
00245
d->
m_sourceFormatter = sourceFormatter;
00246 }
00247
00249
00250 KDevCodeRepository *
KDevApi::codeRepository( )
const
00251
{
00252
return d->
m_codeRepository;
00253 }
00254
00255
#include "kdevapi.moc"
00256