source: XMLIO_V2/external/include/Poco/Net/MailRecipient.h @ 80

Last change on this file since 80 was 80, checked in by ymipsl, 14 years ago

ajout lib externe

  • Property svn:eol-style set to native
File size: 3.7 KB
Line 
1//
2// MailRecipient.h
3//
4// $Id: //poco/1.3/Net/include/Poco/Net/MailRecipient.h#1 $
5//
6// Library: Net
7// Package: Mail
8// Module:  MailRecipient
9//
10// Definition of the MailRecipient class.
11//
12// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
13// and Contributors.
14//
15// Permission is hereby granted, free of charge, to any person or organization
16// obtaining a copy of the software and accompanying documentation covered by
17// this license (the "Software") to use, reproduce, display, distribute,
18// execute, and transmit the Software, and to prepare derivative works of the
19// Software, and to permit third-parties to whom the Software is furnished to
20// do so, all subject to the following:
21//
22// The copyright notices in the Software and this entire statement, including
23// the above license grant, this restriction and the following disclaimer,
24// must be included in all copies of the Software, in whole or in part, and
25// all derivative works of the Software, unless such copies or derivative
26// works are solely in the form of machine-executable object code generated by
27// a source language processor.
28//
29// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
32// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
33// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
34// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
35// DEALINGS IN THE SOFTWARE.
36//
37
38
39#ifndef Net_MailRecipient_INCLUDED
40#define Net_MailRecipient_INCLUDED
41
42
43#include "Poco/Net/Net.h"
44
45
46namespace Poco {
47namespace Net {
48
49
50class Net_API MailRecipient
51        /// The recipient of an e-mail message.
52        ///
53        /// A recipient has a type (primary recipient,
54        /// carbon-copy recipient, blind-carbon-copy
55        /// recipient), an e-mail address and an optional
56        /// real name.
57{
58public:
59        enum RecipientType
60        {
61                PRIMARY_RECIPIENT,
62                CC_RECIPIENT,
63                BCC_RECIPIENT
64        };
65
66        MailRecipient();
67                /// Creates an empty MailRecipient.
68               
69        MailRecipient(const MailRecipient& recipient);
70                /// Creates a MailRecipient by copying another one.
71               
72        MailRecipient(RecipientType type, const std::string& address);
73                /// Creates a MailRecipient of the given type.
74
75        MailRecipient(RecipientType type, const std::string& address, const std::string& realName);
76                /// Creates a MailRecipient of the given type.
77
78        ~MailRecipient();
79                /// Destroys the MailRecipient.
80               
81        MailRecipient& operator = (const MailRecipient& recipient);
82                /// Assigns another recipient.
83               
84        void swap(MailRecipient& recipient);
85                /// Exchanges the content of two recipients.
86
87        RecipientType getType() const;
88                /// Returns the type of the recipient.
89               
90        void setType(RecipientType type);
91                /// Sets the type of the recipient.
92               
93        const std::string& getAddress() const;
94                /// Returns the address of the recipient.
95               
96        void setAddress(const std::string& address);
97                /// Sets the address of the recipient.
98               
99        const std::string& getRealName() const;
100                /// Returns the real name of the recipient.
101               
102        void setRealName(const std::string& realName);
103                /// Sets the real name of the recipient.
104
105private:
106        std::string   _address;
107        std::string   _realName;
108        RecipientType _type;
109};
110
111
112//
113// inlines
114//
115inline MailRecipient::RecipientType MailRecipient::getType() const
116{
117        return _type;
118}
119
120
121inline const std::string& MailRecipient::getAddress() const
122{
123        return _address;
124}
125
126
127inline const std::string& MailRecipient::getRealName() const
128{
129        return _realName;
130}
131
132
133inline void swap(MailRecipient& r1, MailRecipient& r2)
134{
135        r1.swap(r2);
136}
137
138
139} } // namespace Poco::Net
140
141
142#endif // Net_MailRecipient_INCLUDED
Note: See TracBrowser for help on using the repository browser.