summaryrefslogtreecommitdiffstats
path: root/mimelib/address.cpp
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch)
tree67208f7c145782a7e90b123b982ca78d88cc2c87 /mimelib/address.cpp
downloadtdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz
tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'mimelib/address.cpp')
-rw-r--r--mimelib/address.cpp148
1 files changed, 148 insertions, 0 deletions
diff --git a/mimelib/address.cpp b/mimelib/address.cpp
new file mode 100644
index 00000000..6d64abce
--- /dev/null
+++ b/mimelib/address.cpp
@@ -0,0 +1,148 @@
+//=============================================================================
+// File: address.cpp
+// Contents: Definitions for DwAddress
+// Maintainer: Doug Sauder <dwsauder@fwb.gulf.net>
+// WWW: http://www.fwb.gulf.net/~dwsauder/mimepp.html
+//
+// Copyright (c) 1996, 1997 Douglas W. Sauder
+// All rights reserved.
+//
+// IN NO EVENT SHALL DOUGLAS W. SAUDER BE LIABLE TO ANY PARTY FOR DIRECT,
+// INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF
+// THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF DOUGLAS W. SAUDER
+// HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// DOUGLAS W. SAUDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT
+// NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+// PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS"
+// BASIS, AND DOUGLAS W. SAUDER HAS NO OBLIGATION TO PROVIDE MAINTENANCE,
+// SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+//
+//=============================================================================
+
+#define DW_IMPLEMENTATION
+
+#include <mimelib/config.h>
+#include <mimelib/debug.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+#include <mimelib/address.h>
+#include <mimelib/token.h>
+#include <mimelib/group.h>
+#include <mimelib/mailbox.h>
+
+const char* const DwAddress::sClassName = "DwAddress";
+
+
+DwAddress::DwAddress()
+{
+ mIsValid = 0;
+ mNext = 0;
+ mClassId = kCidAddress;
+ mClassName = sClassName;
+}
+
+
+DwAddress::DwAddress(const DwAddress& aAddr)
+ : DwFieldBody(aAddr)
+{
+ mIsValid = aAddr.mIsValid;
+ mNext = 0;
+ mClassId = kCidAddress;
+ mClassName = sClassName;
+}
+
+
+DwAddress::DwAddress(const DwString& aStr, DwMessageComponent* aParent)
+ : DwFieldBody(aStr, aParent)
+{
+ mIsValid = 0;
+ mNext = 0;
+ mClassId = kCidAddress;
+ mClassName = sClassName;
+}
+
+
+DwAddress::~DwAddress()
+{
+}
+
+
+const DwAddress& DwAddress::operator = (const DwAddress& aAddr)
+{
+ if (this == &aAddr) return *this;
+ DwFieldBody::operator = (aAddr);
+ mIsValid = aAddr.mIsValid;
+ return *this;
+}
+
+
+DwBool DwAddress::IsMailbox() const
+{
+ DwBool r = (mClassId == kCidMailbox) ? 1 : 0;
+ return r;
+}
+
+
+DwBool DwAddress::IsGroup() const
+{
+ DwBool r = (mClassId == kCidGroup) ? 1 : 0;
+ return r;
+}
+
+
+DwAddress* DwAddress::Next() const
+{
+ return mNext;
+}
+
+
+void DwAddress::SetNext(DwAddress* aAddress)
+{
+ mNext = aAddress;
+}
+
+
+#if defined (DW_DEBUG_VERSION)
+void DwAddress::PrintDebugInfo(std::ostream& aStrm, int /*aDepth*/) const
+{
+ aStrm <<
+ "---------------- Debug info for DwAddress class ----------------\n";
+ _PrintDebugInfo(aStrm);
+}
+#else
+void DwAddress::PrintDebugInfo(std::ostream&, int ) const {}
+#endif // defined (DW_DEBUG_VERSION)
+
+
+#if defined (DW_DEBUG_VERSION)
+void DwAddress::_PrintDebugInfo(std::ostream& aStrm) const
+{
+ DwFieldBody::_PrintDebugInfo(aStrm);
+ aStrm << "IsValid: ";
+ if (mIsValid) {
+ aStrm << "True\n";
+ }
+ else {
+ aStrm << "False\n";
+ }
+ aStrm << "Next address: ";
+ if (mNext) {
+ aStrm << mNext->ObjectId() << '\n';
+ }
+ else {
+ aStrm << "(none)\n";
+ }
+}
+#else
+void DwAddress::_PrintDebugInfo(std::ostream& ) const {}
+#endif // defined (DW_DEBUG_VERSION)
+
+
+void DwAddress::CheckInvariants() const
+{
+#if defined (DW_DEBUG_VERSION)
+ DwFieldBody::CheckInvariants();
+#endif // defined (DW_DEBUG_VERSION)
+}