-rw-r--r-- | noncore/net/mail/libmailwrapper/abstractmail.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/noncore/net/mail/libmailwrapper/abstractmail.cpp b/noncore/net/mail/libmailwrapper/abstractmail.cpp index f40aac8..5a8ada6 100644 --- a/noncore/net/mail/libmailwrapper/abstractmail.cpp +++ b/noncore/net/mail/libmailwrapper/abstractmail.cpp | |||
@@ -43,96 +43,99 @@ AbstractMail* AbstractMail::getWrapper(Account*a) | |||
43 | break; | 43 | break; |
44 | case MAILLIB::A_POP3: | 44 | case MAILLIB::A_POP3: |
45 | return new POP3wrapper((POP3account*)a); | 45 | return new POP3wrapper((POP3account*)a); |
46 | break; | 46 | break; |
47 | case MAILLIB::A_NNTP: | 47 | case MAILLIB::A_NNTP: |
48 | return new NNTPwrapper((NNTPaccount*)a); | 48 | return new NNTPwrapper((NNTPaccount*)a); |
49 | break; | 49 | break; |
50 | default: | 50 | default: |
51 | return 0; | 51 | return 0; |
52 | } | 52 | } |
53 | } | 53 | } |
54 | 54 | ||
55 | encodedString* AbstractMail::decode_String(const encodedString*text,const QString&enc) | 55 | encodedString* AbstractMail::decode_String(const encodedString*text,const QString&enc) |
56 | { | 56 | { |
57 | odebug << "Decode string start" << oendl; | 57 | odebug << "Decode string start" << oendl; |
58 | char*result_text; | 58 | char*result_text; |
59 | size_t index = 0; | 59 | size_t index = 0; |
60 | /* reset for recursive use! */ | 60 | /* reset for recursive use! */ |
61 | size_t target_length = 0; | 61 | size_t target_length = 0; |
62 | result_text = 0; | 62 | result_text = 0; |
63 | int mimetype = MAILMIME_MECHANISM_7BIT; | 63 | int mimetype = MAILMIME_MECHANISM_7BIT; |
64 | if (enc.lower()=="quoted-printable") { | 64 | if (enc.lower()=="quoted-printable") { |
65 | mimetype = MAILMIME_MECHANISM_QUOTED_PRINTABLE; | 65 | mimetype = MAILMIME_MECHANISM_QUOTED_PRINTABLE; |
66 | } else if (enc.lower()=="base64") { | 66 | } else if (enc.lower()=="base64") { |
67 | mimetype = MAILMIME_MECHANISM_BASE64; | 67 | mimetype = MAILMIME_MECHANISM_BASE64; |
68 | } else if (enc.lower()=="8bit") { | 68 | } else if (enc.lower()=="8bit") { |
69 | mimetype = MAILMIME_MECHANISM_8BIT; | 69 | mimetype = MAILMIME_MECHANISM_8BIT; |
70 | } else if (enc.lower()=="binary") { | 70 | } else if (enc.lower()=="binary") { |
71 | mimetype = MAILMIME_MECHANISM_BINARY; | 71 | mimetype = MAILMIME_MECHANISM_BINARY; |
72 | } | 72 | } |
73 | 73 | ||
74 | int err = mailmime_part_parse(text->Content(),text->Length(),&index,mimetype, | 74 | int err = mailmime_part_parse(text->Content(),text->Length(),&index,mimetype, |
75 | &result_text,&target_length); | 75 | &result_text,&target_length); |
76 | 76 | ||
77 | encodedString* result = new encodedString(); | 77 | encodedString* result = new encodedString(); |
78 | if (err == MAILIMF_NO_ERROR) { | 78 | if (err == MAILIMF_NO_ERROR) { |
79 | result->setContent(result_text,target_length); | 79 | result->setContent(result_text,target_length); |
80 | } | 80 | } |
81 | odebug << "Decode string finished" << oendl; | 81 | odebug << "Decode string finished" << oendl; |
82 | return result; | 82 | return result; |
83 | } | 83 | } |
84 | 84 | ||
85 | QString AbstractMail::convert_String(const char*text) | 85 | QString AbstractMail::convert_String(const char*text) |
86 | { | 86 | { |
87 | size_t index = 0; | 87 | size_t index = 0; |
88 | char*res = 0; | 88 | char*res = 0; |
89 | int err = MAILIMF_NO_ERROR; | 89 | int err = MAILIMF_NO_ERROR; |
90 | 90 | ||
91 | if (!text) { | ||
92 | return QString(""); | ||
93 | } | ||
91 | QString result(text); | 94 | QString result(text); |
92 | 95 | ||
93 | err = mailmime_encoded_phrase_parse("iso-8859-1", | 96 | err = mailmime_encoded_phrase_parse("iso-8859-1", |
94 | text, strlen(text),&index, "iso-8859-1",&res); | 97 | text, strlen(text),&index, "iso-8859-1",&res); |
95 | //odebug << "Input: " << text << "" << oendl; | 98 | //odebug << "Input: " << text << "" << oendl; |
96 | if (err == MAILIMF_NO_ERROR && res && strlen(res)) { | 99 | if (err == MAILIMF_NO_ERROR && res && strlen(res)) { |
97 | result = QString(res); | 100 | result = QString(res); |
98 | // odebug << "Res: " << res << ", length: " << strlen(res) << "" << oendl; | 101 | // odebug << "Res: " << res << ", length: " << strlen(res) << "" << oendl; |
99 | } | 102 | } |
100 | if (res) free(res); | 103 | if (res) free(res); |
101 | return result; | 104 | return result; |
102 | } | 105 | } |
103 | 106 | ||
104 | /* cp & paste from launcher */ | 107 | /* cp & paste from launcher */ |
105 | QString AbstractMail::gen_attachment_id() | 108 | QString AbstractMail::gen_attachment_id() |
106 | { | 109 | { |
107 | QFile file( "/proc/sys/kernel/random/uuid" ); | 110 | QFile file( "/proc/sys/kernel/random/uuid" ); |
108 | if (!file.open(IO_ReadOnly ) ) | 111 | if (!file.open(IO_ReadOnly ) ) |
109 | return QString::null; | 112 | return QString::null; |
110 | 113 | ||
111 | QTextStream stream(&file); | 114 | QTextStream stream(&file); |
112 | 115 | ||
113 | return "{" + stream.read().stripWhiteSpace() + "}"; | 116 | return "{" + stream.read().stripWhiteSpace() + "}"; |
114 | } | 117 | } |
115 | 118 | ||
116 | int AbstractMail::createMbox(const QString&,const FolderP&,const QString& ,bool) | 119 | int AbstractMail::createMbox(const QString&,const FolderP&,const QString& ,bool) |
117 | { | 120 | { |
118 | return 0; | 121 | return 0; |
119 | } | 122 | } |
120 | 123 | ||
121 | QString AbstractMail::defaultLocalfolder() | 124 | QString AbstractMail::defaultLocalfolder() |
122 | { | 125 | { |
123 | QString f = getenv( "HOME" ); | 126 | QString f = getenv( "HOME" ); |
124 | f += "/Applications/opiemail/localmail"; | 127 | f += "/Applications/opiemail/localmail"; |
125 | return f; | 128 | return f; |
126 | } | 129 | } |
127 | 130 | ||
128 | QString AbstractMail::draftFolder() | 131 | QString AbstractMail::draftFolder() |
129 | { | 132 | { |
130 | return QString("Drafts"); | 133 | return QString("Drafts"); |
131 | } | 134 | } |
132 | 135 | ||
133 | /* temporary - will be removed when implemented in all classes */ | 136 | /* temporary - will be removed when implemented in all classes */ |
134 | void AbstractMail::deleteMails(const QString &,const QValueList<Opie::Core::OSmartPointer<RecMail> > &) | 137 | void AbstractMail::deleteMails(const QString &,const QValueList<Opie::Core::OSmartPointer<RecMail> > &) |
135 | { | 138 | { |
136 | } | 139 | } |
137 | 140 | ||
138 | void AbstractMail::mvcpAllMails(const FolderP&fromFolder, | 141 | void AbstractMail::mvcpAllMails(const FolderP&fromFolder, |