Add GNU LGPL headers to all .c .C and .h files
[oweals/cde.git] / cde / programs / dtmail / libDtMail / Common / DtMailMessage.C
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /*
24  *+SNOTICE
25  *
26  *
27  *      $XConsortium: DtMailMessage.C /main/4 1996/04/21 19:47:38 drk $
28  *
29  *      RESTRICTED CONFIDENTIAL INFORMATION:
30  *      
31  *      The information in this document is subject to special
32  *      restrictions in a confidential disclosure agreement bertween
33  *      HP, IBM, Sun, USL, SCO and Univel.  Do not distribute this
34  *      document outside HP, IBM, Sun, USL, SCO, or Univel wihtout
35  *      Sun's specific written approval.  This documment and all copies
36  *      and derivative works thereof must be returned or destroyed at
37  *      Sun's request.
38  *
39  *      Copyright 1993 Sun Microsystems, Inc.  All rights reserved.
40  *
41  *+ENOTICE
42  */
43
44 #include <string.h>
45 #include <stdlib.h>
46 #include <DtMail/DtMail.hh>
47 #include <DtMail/Threads.hh>
48
49 DtMail::Message::Message(DtMailEnv & error, MailBox * parent)
50 {
51     _parent = parent;
52     _obj_mutex = MutexInit();
53 // TOGO    _message = NULL;
54     _envelope = NULL;
55     _session = NULL;
56     error.clear();
57 }
58
59 DtMail::Message::~Message(void)
60 {
61     if (_obj_mutex) {
62         MutexLock lock_scope(_obj_mutex);
63         if (_obj_mutex) {
64             if (_envelope) {
65                 delete _envelope;
66             }
67
68             lock_scope.unlock_and_destroy();
69             _obj_mutex = NULL;
70         }
71     }
72 }
73
74 DtMail::MailBox *
75 DtMail::Message::mailBox(void)
76 {
77     return(_parent);
78 }
79
80 DtMail::Session *
81 DtMail::Message::session(void)
82 {
83     return(_session);
84 }