(file) Return to Attribute.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

 1 martin 1.9 //%LICENSE////////////////////////////////////////////////////////////////
 2 martin 1.10 //
 3 martin 1.9  // Licensed to The Open Group (TOG) under one or more contributor license
 4             // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
 5             // this work for additional information regarding copyright ownership.
 6             // Each contributor licenses this file to you under the OpenPegasus Open
 7             // Source License; you may not use this file except in compliance with the
 8             // License.
 9 martin 1.10 //
10 martin 1.9  // Permission is hereby granted, free of charge, to any person obtaining a
11             // copy of this software and associated documentation files (the "Software"),
12             // to deal in the Software without restriction, including without limitation
13             // the rights to use, copy, modify, merge, publish, distribute, sublicense,
14             // and/or sell copies of the Software, and to permit persons to whom the
15             // Software is furnished to do so, subject to the following conditions:
16 martin 1.10 //
17 martin 1.9  // The above copyright notice and this permission notice shall be included
18             // in all copies or substantial portions of the Software.
19 martin 1.10 //
20 martin 1.9  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
21 martin 1.10 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 martin 1.9  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23             // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24             // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25             // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26             // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 martin 1.10 //
28 martin 1.9  //////////////////////////////////////////////////////////////////////////
29 kumpf  1.4  //
30 kamal.locahana 1.8  //%////////////////////////////////////////////////////////////////////////////
31 kumpf          1.4  
32                     #include "Attribute.h"
33                     
34                     PEGASUS_USING_STD;
35                     
36                     PEGASUS_NAMESPACE_BEGIN
37                     
38                     Attribute::Attribute(const String& attrEntry)
39                     {
40                         _tag = attrEntry;
41                     }
42                     
43                     Attribute::~Attribute()
44                     {
45                         if (_vals.size())
46                         {
47 kumpf          1.6          _vals.clear();
48 kumpf          1.4      }
49                     }
50                     
51                     const Array<String>& Attribute::getValues() const
52                     {
53                         return _vals;
54                     }
55                     
56                     const String& Attribute::getTag() const
57                     {
58                         return _tag;
59                     }
60                     
61                     void Attribute::addValue(const String& value)
62                     {
63                         _vals.append(value);
64                     }
65                     
66                     PEGASUS_STD(ostream)& operator<<(
67                         PEGASUS_STD(ostream)& os,
68                         const Attribute& attr)
69 kumpf          1.4  {
70                         os << attr.getTag();
71                         Array<String> vals = attr.getValues();
72 kamal.locahana 1.8      for (Uint32 i = 0; i < vals.size(); i++)
73 kumpf          1.4      {
74 kumpf          1.7          if (i == 0)
75 kumpf          1.4          {
76                                 os << " = ";
77                             }
78                             else
79                             {
80                                 os << " | ";
81                             }
82                             os << vals[i];
83                         }
84                         return os;
85                     }
86                     
87                     #define PEGASUS_ARRAY_T Attribute
88                     #include <Pegasus/Common/ArrayImpl.h>
89                     #undef PEGASUS_ARRAY_T
90                     
91                     PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2