1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- /*=============================================================================
- Library: CTK
- Copyright (c) German Cancer Research Center,
- Division of Medical and Biological Informatics
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- =============================================================================*/
- #include "ctkServiceProperties_p.h"
- #include <ctkException.h>
- //----------------------------------------------------------------------------
- ctkServiceProperties::ctkServiceProperties(const ctkProperties& props)
- {
- for(ctkProperties::ConstIterator i = props.begin(), end = props.end();
- i != end; ++i)
- {
- if (find(i.key()) != -1)
- {
- QString msg("ctkProperties object contains case variants of the key: ");
- msg += i.key();
- throw ctkInvalidArgumentException(msg);
- }
- ks.append(i.key());
- vs.append(i.value());
- }
- }
- //----------------------------------------------------------------------------
- QVariant ctkServiceProperties::value(const QString &key) const
- {
- int index = find(key);
- if (index < 0) return QVariant();
- return vs[index];
- }
- //----------------------------------------------------------------------------
- QVariant ctkServiceProperties::value(int index) const
- {
- return (index < 0 || index >= vs.size()) ? QVariant() : vs[index];
- }
- //----------------------------------------------------------------------------
- QStringList ctkServiceProperties::keys() const
- {
- QStringList result;
- for(int i = 0; i < ks.size(); ++i)
- {
- result.append(ks[i]);
- }
- return result;
- }
- //----------------------------------------------------------------------------
- int ctkServiceProperties::find(const QString &key) const
- {
- for (int i = 0; i < ks.size(); ++i)
- {
- if (ks[i].compare(key, Qt::CaseInsensitive) == 0)
- return i;
- }
- return -1;
- }
- //----------------------------------------------------------------------------
- int ctkServiceProperties::findCaseSensitive(const QString &key) const
- {
- for (int i = 0; i < ks.size(); ++i)
- {
- if (ks[i] == key)
- return i;
- }
- return -1;
- }
|