File: CWPOP3CacheObject.m

package info (click to toggle)
pantomime 1.4.0%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 2,288 kB
  • sloc: objc: 22,039; makefile: 11; sh: 4
file content (135 lines) | stat: -rw-r--r-- 2,362 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/*
**  CWPOP3CacheObject.m
**
**  Copyright (c) 2001-2004 Ludovic Marcotte
**
**  Author: Ludovic Marcotte <ludovic@Sophos.ca>
**
**  This library is free software; you can redistribute it and/or
**  modify it under the terms of the GNU Lesser General Public
**  License as published by the Free Software Foundation; either
**  version 2.1 of the License, or (at your option) any later version.
**  
**  This library is distributed in the hope that it will be useful,
**  but WITHOUT ANY WARRANTY; without even the implied warranty of
**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
**  Lesser General Public License for more details.
**  
** You should have received a copy of the GNU General Public License
** along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#import <Pantomime/CWPOP3CacheObject.h>

#import <Pantomime/CWConstants.h>

static int currentPOP3CacheObjectVersion = 1;


//
//
//
@implementation CWPOP3CacheObject

- (id) init
{
  self = [super init];
  if (self)
    {
      [CWPOP3CacheObject setVersion: currentPOP3CacheObjectVersion];
    }
  return self;
}


//
//
//
- (id) initWithUID: (NSString *) theUID
	      date: (NSCalendarDate *) theDate
{
  self = [self init];
  if (self)
    {
      [self setUID: theUID];
      [self setDate: theDate];
    }
  
  return self;
}


//
//
//
- (void) dealloc
{
  RELEASE(_date);
  RELEASE(_UID);

  [super dealloc];
}


//
//
//
- (void) encodeWithCoder: (NSCoder *) theCoder
{
  [CWPOP3CacheObject setVersion: currentPOP3CacheObjectVersion];
  [theCoder encodeObject: _UID];
  [theCoder encodeObject: _date];
}


//
//
//
- (id) initWithCoder: (NSCoder *) theCoder
{
  int version;
  
  version = [theCoder versionForClassName: NSStringFromClass([self class])];

  self = [super init];

  // Initial version of the serialized POP3 cache object
  if (version == 0)
    {
      [self setUID: [theCoder decodeObject]];
      [self setDate: [NSCalendarDate calendarDate]];
    }
  else
    {
      [self setUID: [theCoder decodeObject]];
      [self setDate: [theCoder decodeObject]];
    }
  
  return self;
}


//
//
//
- (NSCalendarDate *) date
{
  return _date;
}

- (void) setDate: (NSCalendarDate *) theDate
{
  ASSIGN(_date, theDate);
}

- (NSString *) UID
{
  return _UID;
}


- (void) setUID: (NSString *) theUID
{
  ASSIGN(_UID, theUID);
}
@end