mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-03-12 10:21:22 +00:00
Monotone-Parent: e81a19428dc35c851d16d525d7d41f645b87aa93
Monotone-Revision: 5bdd362f0346da09b105a6a7054e67410a0dcee5 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-08-08T19:01:24 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -140,6 +140,85 @@ static NSCharacterSet *hexCharacterSet = nil;
|
||||
return MAPISTORE_SUCCESS;
|
||||
}
|
||||
|
||||
- (int) getPrOwnerApptId: (void **) data
|
||||
inMemCtx: (TALLOC_CTX *) memCtx
|
||||
{
|
||||
int rc;
|
||||
const char *utf8UID;
|
||||
union {
|
||||
uint32_t longValue;
|
||||
char charValue[4];
|
||||
} value;
|
||||
NSUInteger max, length;
|
||||
|
||||
if ([[event attendees] count] > 0)
|
||||
{
|
||||
utf8UID = [[event uid] UTF8String];
|
||||
length = strlen (utf8UID);
|
||||
max = 2;
|
||||
if (length < max)
|
||||
max = length;
|
||||
memcpy (value.charValue, utf8UID, max);
|
||||
memcpy (value.charValue + 2, utf8UID + length - 2, max);
|
||||
|
||||
*data = MAPILongValue (memCtx, value.longValue);
|
||||
|
||||
rc = MAPISTORE_SUCCESS;
|
||||
}
|
||||
else
|
||||
rc = MAPISTORE_ERR_NOT_FOUND;
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
- (int) getPidLidMeetingType: (void **) data
|
||||
inMemCtx: (TALLOC_CTX *) memCtx
|
||||
{
|
||||
/* TODO
|
||||
See 2.2.6.5 PidLidMeetingType (OXOCAL) */
|
||||
*data = MAPILongValue (memCtx, 0x00000001);
|
||||
|
||||
return MAPISTORE_SUCCESS;
|
||||
}
|
||||
|
||||
- (int) getPidLidOwnerCriticalChange: (void **) data
|
||||
inMemCtx: (TALLOC_CTX *) memCtx
|
||||
{
|
||||
int rc = MAPISTORE_ERR_NOT_FOUND;
|
||||
NSCalendarDate *lastModified;
|
||||
|
||||
if ([[event attendees] count] > 0)
|
||||
{
|
||||
lastModified = [event lastModified];
|
||||
if (lastModified)
|
||||
{
|
||||
*data = [lastModified asFileTimeInMemCtx: memCtx];
|
||||
rc = MAPISTORE_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
- (int) getPidLidAttendeeCriticalChange: (void **) data
|
||||
inMemCtx: (TALLOC_CTX *) memCtx
|
||||
{
|
||||
int rc = MAPISTORE_ERR_NOT_FOUND;
|
||||
NSCalendarDate *lastModified;
|
||||
|
||||
if ([[event attendees] count] > 0)
|
||||
{
|
||||
lastModified = [event lastModified];
|
||||
if (lastModified)
|
||||
{
|
||||
*data = [lastModified asFileTimeInMemCtx: memCtx];
|
||||
rc = MAPISTORE_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
- (int) getPrMessageClass: (void **) data
|
||||
inMemCtx: (TALLOC_CTX *) memCtx
|
||||
{
|
||||
@@ -177,6 +256,19 @@ static NSCharacterSet *hexCharacterSet = nil;
|
||||
return MAPISTORE_SUCCESS;
|
||||
}
|
||||
|
||||
- (int) getPidLidAppointmentStateFlags: (void **) data
|
||||
inMemCtx: (TALLOC_CTX *) memCtx
|
||||
{
|
||||
uint32_t flags = 0x00;
|
||||
|
||||
if ([[event attendees] count] > 0)
|
||||
flags |= 0x01; /* asfMeeting */
|
||||
|
||||
*data = MAPILongValue (memCtx, flags);
|
||||
|
||||
return MAPISTORE_SUCCESS;
|
||||
}
|
||||
|
||||
- (int) getPidLidAppointmentStartWhole: (void **) data
|
||||
inMemCtx: (TALLOC_CTX *) memCtx
|
||||
{
|
||||
@@ -279,7 +371,10 @@ static NSCharacterSet *hexCharacterSet = nil;
|
||||
- (int) getPidLidServerProcessed: (void **) data
|
||||
inMemCtx: (TALLOC_CTX *) memCtx
|
||||
{
|
||||
return [self getNo: data inMemCtx: memCtx];
|
||||
/* TODO: we need to check whether the event has been processed internally by
|
||||
SOGo or if it was received only by mail. We only assume the SOGo case
|
||||
here. */
|
||||
return [self getYes: data inMemCtx: memCtx];
|
||||
}
|
||||
|
||||
- (int) getPidLidPrivate: (void **) data // private (bool), should depend on CLASS and permissions
|
||||
|
||||
Reference in New Issue
Block a user