On Mon, 2008-02-18 at 17:18 +0000, Gary Rigg wrote:
> Fetching the appointment works fine.  The only difference I can see is
> that on his other items there are entries such as:
> 
>         Timezone: (GMT) Greenwich Mean Time : Dublin, Edinburgh,
> Lisbon, London

We indeed don't modify the Timezone tag in openchangeclient. IIRC,
evo-mapi does.

Can you double-check whether the appointment would not be in the
calendar the previous/next day? If you find it, this may be a timezone
related issue.

> And, on any items I add via the open change client the Status is:
>         Status: Completed
> 
> On the other items...
>         Status: Not Started

You're talking about tasks correct?

> I also notice items have a...
>         Private: False
> ....I wonder, is it possible to set this to True using the open change
> client?

Well openchangeclient was more designed as a POC cmdline tool rather
than a full console Outlook replacement ... so it has some
limitations ;-)

Anyway, you'll find in attachment a patch which adds "--private"
parameter to openchangeclient and makes the appointment private when
used.

I'll apply the patch to the trunk tonight.

Cheers,
Julien.

-- 
Julien Kerihuel
[EMAIL PROTECTED]
OpenChange Project Manager

GPG Fingerprint: 0B55 783D A781 6329 108A  B609 7EF6 FE11 A35F 1F79

Index: utils/openchangeclient.c
===================================================================
--- utils/openchangeclient.c	(revision 343)
+++ utils/openchangeclient.c	(working copy)
@@ -51,6 +51,7 @@
 	oclient->dtend = NULL;
 	oclient->busystatus = 0;
 	oclient->label = 0;
+	oclient->private = false;
 
 	/* contact related parameters */
 	oclient->email = "";
@@ -962,6 +963,7 @@
 	mapi_nameid_OOM_add(nameid, "CommonEnd", PSETID_Common);
 	mapi_nameid_OOM_add(nameid, "Label", PSETID_Appointment);
 	mapi_nameid_OOM_add(nameid, "ReminderMinutesBeforeStart", PSETID_Common);
+	mapi_nameid_OOM_add(nameid, "Private", PSETID_Common);
 
 	/* GetIDsFromNames and map property types */
 	SPropTagArray = talloc_zero(mem_ctx, struct SPropTagArray);
@@ -1002,13 +1004,17 @@
 	set_SPropValue_proptag(&props[7], SPropTagArray->aulPropTag[1], (const void *) &oclient->busystatus);
 	flag= MEETING_STATUS_NONMEETING;
 	set_SPropValue_proptag(&props[8], SPropTagArray->aulPropTag[2], (const void *) &flag);
-	flag2 = true;
 	set_SPropValue_proptag(&props[9], SPropTagArray->aulPropTag[3], (const void *) start_date);
 	set_SPropValue_proptag(&props[10], SPropTagArray->aulPropTag[4], (const void *) end_date);
 	set_SPropValue_proptag(&props[11], SPropTagArray->aulPropTag[5], (const void *)&oclient->label);
 	flag = 30;
 	set_SPropValue_proptag(&props[12], SPropTagArray->aulPropTag[6], (const void *)&flag);
 	set_SPropValue_proptag(&props[13], PR_BODY, (const void *)(oclient->pr_body?oclient->pr_body:""));
+	flag2 = oclient->private;
+	set_SPropValue_proptag(&props[14], SPropTagArray->aulPropTag[7], (const void *)&flag2);
+	flag = (oclient->private == true) ? 2 : 0;
+	set_SPropValue_proptag(&props[15], PR_SENSITIVITY, (const void *)&flag);
+	
 	retval = SetProps(&obj_message, props, CAL_CNPROPS);
 	MAPIFreeBuffer(SPropTagArray);
 	if (retval != MAPI_E_SUCCESS) return false;
@@ -1889,7 +1895,7 @@
 	      OPT_MAPI_EMAIL, OPT_MAPI_FULLNAME, OPT_MAPI_CARDNAME, OPT_MAPI_PRIORITY,
 	      OPT_MAPI_TASKSTATUS, OPT_MAPI_IMPORTANCE, OPT_MAPI_LABEL, OPT_PF, 
 	      OPT_FOLDER, OPT_MAPI_COLOR, OPT_SENDNOTE, OPT_MKDIR, OPT_RMDIR,
-	      OPT_FOLDER_NAME, OPT_FOLDER_COMMENT, OPT_USERLIST};
+	      OPT_FOLDER_NAME, OPT_FOLDER_COMMENT, OPT_USERLIST, OPT_MAPI_PRIVATE};
 
 	struct poptOption long_options[] = {
 		POPT_AUTOHELP
@@ -1936,6 +1942,7 @@
 		{"folder-comment", 0, POPT_ARG_STRING, NULL, OPT_FOLDER_COMMENT, "set the folder comment"},
 		{"debuglevel", 0, POPT_ARG_STRING, NULL, OPT_DEBUG, "Set Debug Level"},
 		{"dump-data", 0, POPT_ARG_NONE, NULL, OPT_DUMPDATA, "dump the hex data"},
+		{"private", 0, POPT_ARG_NONE, NULL, OPT_MAPI_PRIVATE, "Set the private flag on messages"},
 		{ NULL }
 	};
 
@@ -2088,6 +2095,9 @@
 		case OPT_MAPI_CARDNAME:
 			oclient.card_name = poptGetOptArg(pc);
 			break;
+		case OPT_MAPI_PRIVATE:
+			oclient.private = true;
+			break;
 		}
 	}
 
Index: utils/openchangeclient.h
===================================================================
--- utils/openchangeclient.h	(revision 343)
+++ utils/openchangeclient.h	(working copy)
@@ -47,6 +47,7 @@
 	uint32_t		taskstatus;
 	uint32_t		label;
 	uint32_t		priority;
+	bool			private;
 	uint32_t		importance;
 	uint32_t		color;
 	uint32_t		width;
@@ -136,7 +137,7 @@
 };
 
 #define	DATE_FORMAT	"%Y-%m-%d %H:%M:%S"
-#define	CAL_CNPROPS	14
+#define	CAL_CNPROPS	16
 #define	CONTACT_CNPROPS	7
 #define	TASK_CNPROPS	8
 #define	NOTE_CNPROPS	10

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
devel mailing list
[email protected]
http://mailman.openchange.org/listinfo/devel

Reply via email to