41 m_name =
config.readEntry(
"protocol" );
43 m_isSourceProtocol =
config.readEntry(
"source",
true );
44 m_isHelperProtocol =
config.readEntry(
"helper",
false );
45 m_supportsReading =
config.readEntry(
"reading",
false );
46 m_supportsWriting =
config.readEntry(
"writing",
false );
47 m_supportsMakeDir =
config.readEntry(
"makedir",
false );
48 m_supportsDeleting =
config.readEntry(
"deleting",
false );
49 m_supportsLinking =
config.readEntry(
"linking",
false );
50 m_supportsMoving =
config.readEntry(
"moving",
false );
51 m_supportsOpening =
config.readEntry(
"opening",
false );
52 m_canCopyFromFile =
config.readEntry(
"copyFromFile",
false );
53 m_canCopyToFile =
config.readEntry(
"copyToFile",
false );
54 d->canRenameFromFile =
config.readEntry(
"renameFromFile",
false );
55 d->canRenameToFile =
config.readEntry(
"renameToFile",
false );
56 d->canDeleteRecursive =
config.readEntry(
"deleteRecursive",
false );
57 const QString fnu =
config.readEntry(
"fileNameUsedForCopying",
"FromURL" );
58 d->fileNameUsedForCopying = FromUrl;
59 if (fnu == QLatin1String(
"Name"))
60 d->fileNameUsedForCopying = Name;
61 else if (fnu == QLatin1String(
"DisplayName"))
62 d->fileNameUsedForCopying = DisplayName;
66 if ( m_listing.count() == 1 && m_listing.first() == QLatin1String(
"false") )
68 m_supportsListing = ( m_listing.count() > 0 );
69 m_defaultMimetype =
config.readEntry(
"defaultMimetype" );
70 m_determineMimetypeFromExtension =
config.readEntry(
"determineMimetypeFromExtension",
true );
72 m_icon =
config.readEntry(
"Icon" );
73 m_config =
config.readEntry(
"config", m_name );
74 m_maxSlaves =
config.readEntry(
"maxInstances", 1);
75 d->maxSlavesPerHost =
config.readEntry(
"maxInstancesPerHost", 0);
78 if ( tmp == QLatin1String(
"filesystem") )
80 else if ( tmp == QLatin1String(
"stream") )
85 tmp =
config.readEntry(
"output" );
86 if ( tmp == QLatin1String(
"filesystem") )
88 else if ( tmp == QLatin1String(
"stream") )
94 if (d->docPath.isEmpty())
96 d->protClass =
config.readEntry(
"Class" ).toLower();
97 if (d->protClass[0] != QLatin1Char(
':'))
98 d->protClass.prepend(QLatin1Char(
':'));
102 QStringList::const_iterator it = extraNames.begin();
103 QStringList::const_iterator typeit = extraTypes.begin();
104 for( ; it != extraNames.end() && typeit != extraTypes.end(); ++it, ++typeit ) {
105 QVariant::Type type = QVariant::nameToType( (*typeit).toLatin1() );
107 d->extraFields.append( ExtraField( *it, static_cast<ExtraField::Type>(type) ) );
110 d->showPreviews =
config.readEntry(
"ShowPreviews", d->protClass == QLatin1String(
":local") );
113 d->proxyProtocol =
config.readEntry(
"ProxiedBy" );
127 KProtocolInfo::load( QDataStream& _str)
132 qint32 i_inputType, i_outputType;
133 qint8 i_isSourceProtocol, i_isHelperProtocol,
134 i_supportsListing, i_supportsReading,
135 i_supportsWriting, i_supportsMakeDir,
136 i_supportsDeleting, i_supportsLinking,
137 i_supportsMoving, i_supportsOpening,
138 i_determineMimetypeFromExtension,
139 i_canCopyFromFile, i_canCopyToFile, i_showPreviews,
140 i_uriMode, i_canRenameFromFile, i_canRenameToFile,
141 i_canDeleteRecursive, i_fileNameUsedForCopying;
144 >> i_determineMimetypeFromExtension
146 >> i_inputType >> i_outputType
147 >> i_isSourceProtocol >> i_isHelperProtocol
148 >> i_supportsListing >> i_supportsReading
149 >> i_supportsWriting >> i_supportsMakeDir
150 >> i_supportsDeleting >> i_supportsLinking
151 >> i_supportsMoving >> i_supportsOpening
152 >> i_canCopyFromFile >> i_canCopyToFile
154 >> d->extraFields >> i_showPreviews >> i_uriMode
155 >> d->capabilities >> d->proxyProtocol
156 >> i_canRenameFromFile >> i_canRenameToFile
157 >> i_canDeleteRecursive >> i_fileNameUsedForCopying
158 >> d->archiveMimetype >> d->maxSlavesPerHost;
174 d->canRenameFromFile = (i_canRenameFromFile != 0);
175 d->canRenameToFile = (i_canRenameToFile != 0);
176 d->canDeleteRecursive = (i_canDeleteRecursive != 0);
179 d->showPreviews = (i_showPreviews != 0);
189 qint32 i_inputType, i_outputType;
190 qint8 i_isSourceProtocol, i_isHelperProtocol,
191 i_supportsListing, i_supportsReading,
192 i_supportsWriting, i_supportsMakeDir,
193 i_supportsDeleting, i_supportsLinking,
194 i_supportsMoving, i_supportsOpening,
195 i_determineMimetypeFromExtension,
196 i_canCopyFromFile, i_canCopyToFile, i_showPreviews,
197 i_uriMode, i_canRenameFromFile, i_canRenameToFile,
198 i_canDeleteRecursive, i_fileNameUsedForCopying;
223 << i_determineMimetypeFromExtension
225 << i_inputType << i_outputType
226 << i_isSourceProtocol << i_isHelperProtocol
227 << i_supportsListing << i_supportsReading
228 << i_supportsWriting << i_supportsMakeDir
229 << i_supportsDeleting << i_supportsLinking
230 << i_supportsMoving << i_supportsOpening
231 << i_canCopyFromFile << i_canCopyToFile
235 << i_canRenameFromFile << i_canRenameToFile
236 << i_canDeleteRecursive << i_fileNameUsedForCopying
257 return !prot->m_isSourceProtocol;
275 if (service && prot && prot->m_isHelperProtocol) {
276 returnService = service;
280 returnProtocol = prot;
283 returnService = service;
291 selectServiceOrHelper(protocol, prot, service);
293 return service->
icon();
307 return QString::fromLatin1(
"kio_%1rc").arg(prot->m_config);
316 return prot->m_maxSlaves;
325 return prot->d_func()->maxSlavesPerHost;
334 return prot->m_determineMimetypeFromExtension;
341 selectServiceOrHelper(protocol, prot, service);
343 return service->
exec();
356 return prot->d_func()->extraFields;
365 return prot->d_func()->docPath;
374 return prot->d_func()->protClass;
383 return prot->d_func()->showPreviews;
392 return prot->d_func()->capabilities;
401 return prot->d_func()->proxyProtocol;
413 return d->archiveMimetype;
424 return d->canRenameFromFile;
430 return d->canRenameToFile;
436 return d->canDeleteRecursive;
442 return d->fileNameUsedForCopying;
460 return prot->m_isHelperProtocol;
488 s << static_cast<int>( field.
type );