aboutsummaryrefslogtreecommitdiffstats
path: root/src/contentDispositionField.cpp
diff options
context:
space:
mode:
authorVincent Richard <[email protected]>2013-11-23 08:25:38 +0000
committerVincent Richard <[email protected]>2013-11-23 08:25:38 +0000
commit7aebeeb2e2ad13c89c202d0bfa8c634ab27b91b4 (patch)
tree591c6558daf2773bb0ce913e39189b295d9406c9 /src/contentDispositionField.cpp
parentDo not throw exception for normal code flow (exceptions::no_such_field). (diff)
downloadvmime-7aebeeb2e2ad13c89c202d0bfa8c634ab27b91b4.tar.gz
vmime-7aebeeb2e2ad13c89c202d0bfa8c634ab27b91b4.zip
Do not throw exception for normal code flow (exceptions::no_such_parameter).
Diffstat (limited to 'src/contentDispositionField.cpp')
-rw-r--r--src/contentDispositionField.cpp65
1 files changed, 60 insertions, 5 deletions
diff --git a/src/contentDispositionField.cpp b/src/contentDispositionField.cpp
index 887d8928..5a9c1212 100644
--- a/src/contentDispositionField.cpp
+++ b/src/contentDispositionField.cpp
@@ -40,9 +40,20 @@ contentDispositionField::contentDispositionField(contentDispositionField&)
}
+bool contentDispositionField::hasCreationDate() const
+{
+ return findParameter("creation-date");
+}
+
+
const datetime contentDispositionField::getCreationDate() const
{
- return findParameter("creation-date")->getValueAs <datetime>();
+ shared_ptr <parameter> param = findParameter("creation-date");
+
+ if (param)
+ return param->getValueAs <datetime>();
+ else
+ return datetime::now();
}
@@ -52,9 +63,20 @@ void contentDispositionField::setCreationDate(const datetime& creationDate)
}
+bool contentDispositionField::hasModificationDate() const
+{
+ return findParameter("modification-date");
+}
+
+
const datetime contentDispositionField::getModificationDate() const
{
- return findParameter("modification-date")->getValueAs <datetime>();
+ shared_ptr <parameter> param = findParameter("modification-date");
+
+ if (param)
+ return param->getValueAs <datetime>();
+ else
+ return datetime::now();
}
@@ -64,9 +86,20 @@ void contentDispositionField::setModificationDate(const datetime& modificationDa
}
+bool contentDispositionField::hasReadDate() const
+{
+ return findParameter("read-date");
+}
+
+
const datetime contentDispositionField::getReadDate() const
{
- return findParameter("read-date")->getValueAs <datetime>();
+ shared_ptr <parameter> param = findParameter("read-date");
+
+ if (param)
+ return param->getValueAs <datetime>();
+ else
+ return datetime::now();
}
@@ -76,9 +109,20 @@ void contentDispositionField::setReadDate(const datetime& readDate)
}
+bool contentDispositionField::hasFilename() const
+{
+ return findParameter("filename");
+}
+
+
const word contentDispositionField::getFilename() const
{
- return findParameter("filename")->getValue();
+ shared_ptr <parameter> param = findParameter("filename");
+
+ if (param)
+ return param->getValue();
+ else
+ return word();
}
@@ -88,9 +132,20 @@ void contentDispositionField::setFilename(const word& filename)
}
+bool contentDispositionField::hasSize() const
+{
+ return findParameter("size");
+}
+
+
const string contentDispositionField::getSize() const
{
- return findParameter("size")->getValue().getBuffer();
+ shared_ptr <parameter> param = findParameter("size");
+
+ if (param)
+ return param->getValue().getBuffer();
+ else
+ return "";
}