2 * Copyright (c) 2000-2001 Apple Computer, Inc. All Rights Reserved.
4 * The contents of this file constitute Original Code as defined in and are
5 * subject to the Apple Public Source License Version 1.2 (the 'License').
6 * You may not use this file except in compliance with the License. Please obtain
7 * a copy of the License at http://www.apple.com/publicsource and read it before
10 * This Original Code and all software distributed under the License are
11 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
12 * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
13 * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14 * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
15 * specific language governing rights and limitations under the License.
22 #include <Security/DbName.h>
24 #include <Security/utilities.h>
26 CssmNetAddress::CssmNetAddress(CSSM_DB_RECORDTYPE inAddressType
, const CssmData
&inAddress
)
28 AddressType
= inAddressType
;
29 Address
.Length
= inAddress
.Length
;
30 if (Address
.Length
> 0)
32 Address
.Data
= new uint8
[Address
.Length
];
33 memcpy (Address
.Data
, inAddress
.Data
, Address
.Length
);
39 CssmNetAddress::CssmNetAddress(const CSSM_NET_ADDRESS
&other
)
41 AddressType
= other
.AddressType
;
42 Address
.Length
= other
.Address
.Length
;
43 if (Address
.Length
> 0)
45 Address
.Data
= new uint8
[Address
.Length
];
46 memcpy (Address
.Data
, other
.Address
.Data
, Address
.Length
);
52 CssmNetAddress::~CssmNetAddress()
54 if (Address
.Length
> 0)
58 DbName::DbName(const char *inDbName
, const CSSM_NET_ADDRESS
*inDbLocation
)
59 :mDbName(&Required(inDbName
)),
64 mDbLocation
= new CssmNetAddress(*inDbLocation
);
68 DbName::DbName(const DbName
&other
)
69 :mDbName(other
.mDbName
),
72 if (other
.mDbLocation
)
74 mDbLocation
= new CssmNetAddress(*other
.mDbLocation
);
79 DbName::operator =(const DbName
&other
)
81 mDbName
= other
.mDbName
;
82 if (other
.mDbLocation
)
84 mDbLocation
= new CssmNetAddress(*other
.mDbLocation
);