X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=xmltooling%2Fsecurity%2FCredentialCriteria.h;h=e1b65e63d5e5b7517f3362e408b75bb1e6419663;hb=81b488b2790e7bdeb2f43560b1d4a7d22c3dfdf5;hp=711b4315a58d1d1ddd1b03bc3cb3bbdc0921ae8d;hpb=c493e8db8467237119f8d733cdcf218347c17764;p=shibboleth%2Fcpp-xmltooling.git diff --git a/xmltooling/security/CredentialCriteria.h b/xmltooling/security/CredentialCriteria.h index 711b431..e1b65e6 100644 --- a/xmltooling/security/CredentialCriteria.h +++ b/xmltooling/security/CredentialCriteria.h @@ -1,17 +1,21 @@ -/* - * Copyright 2001-2009 Internet2 - * - * 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 +/** + * Licensed to the University Corporation for Advanced Internet + * Development, Inc. (UCAID) under one or more contributor license + * agreements. See the NOTICE file distributed with this work for + * additional information regarding copyright ownership. * - * http://www.apache.org/licenses/LICENSE-2.0 + * UCAID licenses this file to you 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 * - * 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. + * 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. */ /** @@ -69,77 +73,73 @@ namespace xmltooling { * * @return the usage mask */ - unsigned int getUsage() const { - return m_keyUsage; - } + unsigned int getUsage() const; /** * Set key usage criteria. * * @param usage the usage mask to set */ - void setUsage(unsigned int usage) { - m_keyUsage = usage; - } + void setUsage(unsigned int usage); /** * Get the peer name criteria. * * @return the peer name */ - const char* getPeerName() const { - return m_peerName.c_str(); - } + const char* getPeerName() const; /** * Set the peer name criteria. * * @param peerName peer name to set */ - void setPeerName(const char* peerName) { - m_peerName.erase(); - if (peerName) - m_peerName = peerName; - } + void setPeerName(const char* peerName); /** * Get the key algorithm criteria. * * @return the key algorithm */ - const char* getKeyAlgorithm() const { - return m_keyAlgorithm.c_str(); - } + const char* getKeyAlgorithm() const; /** * Set the key algorithm criteria. * - * @param keyAlgorithm The key algorithm to set + * @param keyAlgorithm the key algorithm to set */ - void setKeyAlgorithm(const char* keyAlgorithm) { - m_keyAlgorithm.erase(); - if (keyAlgorithm) - m_keyAlgorithm = keyAlgorithm; - } + void setKeyAlgorithm(const char* keyAlgorithm); /** * Get the key size criteria. + *
If a a maximum size is also set, this is treated as a minimum. * * @return the key size, or 0 */ - unsigned int getKeySize() const { - return m_keySize; - } + unsigned int getKeySize() const; /** * Set the key size criteria. + *
If a a maximum size is also set, this is treated as a minimum.
*
- * @param keySize Key size to set
+ * @param keySize key size to set
*/
- void setKeySize(unsigned int keySize) {
- m_keySize = keySize;
- }
-
+ void setKeySize(unsigned int keySize);
+
+ /**
+ * Get the maximum key size criteria.
+ *
+ * @return the maximum key size, or 0
+ */
+ unsigned int getMaxKeySize() const;
+
+ /**
+ * Set the maximum key size criteria.
+ *
+ * @param keySize maximum key size to set
+ */
+ void setMaxKeySize(unsigned int keySize);
+
/**
* Set the key algorithm and size criteria based on an XML algorithm specifier.
*
@@ -152,27 +152,21 @@ namespace xmltooling {
*
* @return an immutable set of key names
*/
- const std::set