Bincimap 2.0.16
Easy Imapping
Loading...
Searching...
No Matches
mime.cc
Go to the documentation of this file.
1
7#include "mime.h"
8#include "convert.h"
9#include <string>
10#include <vector>
11#include <map>
12#include <exception>
13#include <iostream>
14
15#include <string.h>
16#include <ctype.h>
17#include <stdio.h>
18#include <errno.h>
19
20using namespace ::std;
21
22//------------------------------------------------------------------------
24{
25 allIsParsed = false;
26 headerIsParsed = false;
27}
28
29//------------------------------------------------------------------------
31{
32}
33
34//------------------------------------------------------------------------
36{
37 members.clear();
38 h.clear();
39 headerIsParsed = false;
40 allIsParsed = false;
41}
42
43//------------------------------------------------------------------------
44void Binc::MimePart::clear(void) const
45{
46 members.clear();
47 h.clear();
48}
49
50//------------------------------------------------------------------------
52{
53 size = 0;
54 messagerfc822 = false;
55 multipart = false;
56
57 nlines = 0;
58 nbodylines = 0;
59}
60
61//------------------------------------------------------------------------
63{
64}
65
66//------------------------------------------------------------------------
68{
69}
70
71//------------------------------------------------------------------------
72Binc::HeaderItem::HeaderItem(const string &key, const string &value)
73{
74 this->key = key;
75 this->value = value;
76}
77
78//------------------------------------------------------------------------
80{
81}
82
83//------------------------------------------------------------------------
85{
86}
87
88//------------------------------------------------------------------------
89bool Binc::Header::getFirstHeader(const string &key, HeaderItem &dest) const
90{
91 string k = key;
92 lowercase(k);
93
94 for (vector<HeaderItem>::const_iterator i = content.begin();
95 i != content.end(); ++i) {
96 string tmp = (*i).getKey();
97 lowercase(tmp);
98
99 if (tmp == k) {
100 dest = *i;
101 return true;
102 }
103 }
104 return false;
105}
106
107//------------------------------------------------------------------------
108bool Binc::Header::getAllHeaders(const string &key, vector<HeaderItem> &dest) const
109{
110 string k = key;
111 lowercase(k);
112
113 for (vector<HeaderItem>::const_iterator i = content.begin();
114 i != content.end(); ++i) {
115 string tmp = (*i).getKey();
116 lowercase(tmp);
117 if (tmp == k)
118 dest.push_back(*i);
119 }
120
121 return (dest.size() != 0);
122}
123
124//------------------------------------------------------------------------
125void Binc::Header::clear(void) const
126{
127 content.clear();
128}
129
130//------------------------------------------------------------------------
131void Binc::Header::add(const string &key, const string &value)
132{
133 content.push_back(HeaderItem(key, value));
134}
void clear(void) const
Definition: mime.cc:125
Header(void)
Definition: mime.cc:79
~Header(void)
Definition: mime.cc:84
bool getAllHeaders(const std::string &key, std::vector< HeaderItem > &dest) const
Definition: mime.cc:108
void add(const std::string &name, const std::string &content)
Definition: mime.cc:131
bool getFirstHeader(const std::string &key, HeaderItem &dest) const
Definition: mime.cc:89
HeaderItem(void)
Definition: mime.cc:67
void clear(void) const
Definition: mime.cc:35
~MimeDocument(void)
Definition: mime.cc:30
MimeDocument(void)
Definition: mime.cc:23
virtual void clear(void) const
Definition: mime.cc:44
MimePart(void)
Definition: mime.cc:51
virtual ~MimePart(void)
Definition: mime.cc:62
Declaration of miscellaneous convertion functions.
Declaration of main mime parser components.
void lowercase(std::string &input)
Definition: convert.h:122