~ubuntu-branches/debian/sid/openchange/sid

« back to all changes in this revision

Viewing changes to utils/mapitest/modules/module_oxcmsg.c

  • Committer: Package Import Robot
  • Author(s): Jelmer Vernooij
  • Date: 2012-04-12 20:07:57 UTC
  • mfrom: (11 sid)
  • mto: This revision was merged to the branch mainline in revision 12.
  • Revision ID: package-import@ubuntu.com-20120412200757-k933d9trljmxj1l4
Tags: 1:1.0-4
* openchangeserver: Add dependency on openchangeproxy.
* Rebuild against newer version of Samba 4.
* Use dpkg-buildflags.
* Migrate to Git, update Vcs-Git header.
* Switch to debhelper 9.

Show diffs side-by-side

added added

removed removed

Lines of Context:
45
45
 */
46
46
_PUBLIC_ bool mapitest_oxcmsg_CreateMessage(struct mapitest *mt)
47
47
{
48
 
        enum MAPISTATUS         retval;
49
48
        bool                    ret;
50
49
        mapi_object_t           obj_store;
51
50
        mapi_object_t           obj_folder;
54
53
 
55
54
        /* Step 1. Logon */
56
55
        mapi_object_init(&obj_store);
57
 
        retval = OpenMsgStore(mt->session, &obj_store);
 
56
        OpenMsgStore(mt->session, &obj_store);
58
57
        mapitest_print_retval(mt, "OpenMsgStore");
59
58
        if (GetLastError() != MAPI_E_SUCCESS) {
60
59
                return false;
67
66
 
68
67
        /* Step 3. Create the message */
69
68
        mapi_object_init(&obj_message);
70
 
        retval = CreateMessage(&obj_folder, &obj_message);
 
69
        CreateMessage(&obj_folder, &obj_message);
71
70
        mapitest_print_retval(mt, "CreateMessage");
72
71
        if (GetLastError() != MAPI_E_SUCCESS) {
73
72
                return false;
75
74
 
76
75
        /* Step 4. Delete the message */
77
76
        id_msgs[0] = mapi_object_get_id(&obj_message);
78
 
        retval = DeleteMessage(&obj_folder, id_msgs, 1);
 
77
        DeleteMessage(&obj_folder, id_msgs, 1);
79
78
        mapitest_print_retval(mt, "DeleteMessage");
80
79
        if (GetLastError() != MAPI_E_SUCCESS) {
81
80
                return false;
111
110
 */
112
111
_PUBLIC_ bool mapitest_oxcmsg_SetMessageReadFlag(struct mapitest *mt)
113
112
{
114
 
        enum MAPISTATUS         retval;
115
113
        bool                    ret;
116
114
        mapi_object_t           obj_store;
117
115
        mapi_object_t           obj_folder;
124
122
 
125
123
        /* Step 1. Logon */
126
124
        mapi_object_init(&obj_store);
127
 
        retval = OpenMsgStore(mt->session, &obj_store);
 
125
        OpenMsgStore(mt->session, &obj_store);
128
126
        mapitest_print_retval(mt, "OpenMsgStore");
129
127
        if (GetLastError() != MAPI_E_SUCCESS) {
130
128
                return false;
140
138
        ret = mapitest_common_message_create(mt, &obj_folder, &obj_message, OXCMSG_SETREADFLAGS);
141
139
        if (ret == false) return ret;
142
140
 
143
 
        retval = SaveChangesMessage(&obj_folder, &obj_message, KeepOpenReadWrite);
 
141
        SaveChangesMessage(&obj_folder, &obj_message, KeepOpenReadWrite);
144
142
        mapitest_print_retval(mt, "SaveChangesMessage");
145
143
        if (GetLastError() != MAPI_E_SUCCESS) {
146
144
                return false;
151
149
        ret = true;
152
150
 
153
151
        /* 1. Retrieve and Save the original PR_MESSAGE_FLAGS value */
154
 
        retval = GetProps(&obj_message, 0, SPropTagArray, &lpProps, &cValues);
 
152
        GetProps(&obj_message, 0, SPropTagArray, &lpProps, &cValues);
155
153
        if (GetLastError() != MAPI_E_SUCCESS) {
156
154
                return false;
157
155
        }
162
160
        MAPIFreeBuffer(lpProps);
163
161
        
164
162
        /* Set message flags as read */
165
 
        retval = SetMessageReadFlag(&obj_folder, &obj_message, MSGFLAG_READ);
 
163
        SetMessageReadFlag(&obj_folder, &obj_message, MSGFLAG_READ);
166
164
        mapitest_print_retval_fmt(mt, "SetMessageReadFlag", "(%s)", "MSGFLAG_READ");
167
165
 
168
166
        /* Check if the operation was successful */
169
 
        retval = GetProps(&obj_message, 0, SPropTagArray, &lpProps, &cValues);
 
167
        GetProps(&obj_message, 0, SPropTagArray, &lpProps, &cValues);
170
168
        mapitest_print_retval(mt, "GetProps");
171
169
        if (GetLastError() != MAPI_E_SUCCESS) {
172
170
                return false;
182
180
        MAPIFreeBuffer(lpProps);
183
181
                
184
182
        /* Set the message flags as submitted */
185
 
        retval = SetMessageReadFlag(&obj_folder, &obj_message, MSGFLAG_SUBMIT);
 
183
        SetMessageReadFlag(&obj_folder, &obj_message, MSGFLAG_SUBMIT);
186
184
        mapitest_print_retval_fmt(mt, "SetMessageReadFlag", "(%s)", "MSGFLAG_SUBMIT");
187
185
        
188
186
        /* Check if the operation was successful */
189
 
        retval = GetProps(&obj_message, 0, SPropTagArray, &lpProps, &cValues);
 
187
        GetProps(&obj_message, 0, SPropTagArray, &lpProps, &cValues);
190
188
        if (GetLastError() != MAPI_E_SUCCESS) {
191
189
                return false;
192
190
        }
201
199
 
202
200
        /* Step 5. Delete the message */
203
201
        id_msgs[0] = mapi_object_get_id(&obj_message);
204
 
        retval = DeleteMessage(&obj_folder, id_msgs, 1);
 
202
        DeleteMessage(&obj_folder, id_msgs, 1);
205
203
        mapitest_print_retval(mt, "DeleteMessage");
206
204
        if (GetLastError() != MAPI_E_SUCCESS) {
207
205
                return false;
552
550
_PUBLIC_ bool mapitest_oxcmsg_ReadRecipients(struct mapitest *mt)
553
551
{
554
552
        enum MAPISTATUS                 retval;
555
 
        bool                            ret = false;
556
553
        mapi_object_t                   obj_store;
557
554
        mapi_object_t                   obj_folder;
558
555
        mapi_object_t                   obj_message;
561
558
        struct SPropTagArray            *SPropTagArray = NULL;
562
559
        struct SPropValue               SPropValue;
563
560
        struct SRowSet                  *SRowSet = NULL;
564
 
        struct PropertyTagArray_r       *flaglist = NULL;
 
561
        struct PropertyTagArray_r       *flaglist = NULL;
565
562
        struct ReadRecipientRow         *RecipientRows;
566
563
        uint8_t                         count;
567
564
        mapi_id_t                       id_msgs[1];
669
666
                return false;
670
667
        }
671
668
 
672
 
        ret = true;
673
 
 
674
669
        /* Step 4. Save the message */
675
670
        retval = SaveChangesMessage(&obj_folder, &obj_message, KeepOpenReadOnly);
676
671
        mapitest_print_retval(mt, "SaveChangesMessage");
688
683
        if (retval != MAPI_E_SUCCESS) {
689
684
                MAPIFreeBuffer(SRowSet);
690
685
                MAPIFreeBuffer(flaglist);
691
 
                ret = false;
 
686
                return false;
692
687
        }
693
688
 
694
689
        /* Step 6. Delete the message */
699
694
        if (retval != MAPI_E_SUCCESS) {
700
695
                MAPIFreeBuffer(SRowSet);
701
696
                MAPIFreeBuffer(flaglist);
702
 
                ret = false;
 
697
                return false;
703
698
        }
704
699
 
705
700
        /* Release */
709
704
        mapi_object_release(&obj_folder);
710
705
        mapi_object_release(&obj_store);
711
706
 
712
 
        return ret;
 
707
        return true;
713
708
}
714
709
 
715
710
 
729
724
 */
730
725
_PUBLIC_ bool mapitest_oxcmsg_SaveChangesMessage(struct mapitest *mt)
731
726
{
732
 
        enum MAPISTATUS         retval;
733
727
        mapi_object_t           obj_store;
734
728
        mapi_object_t           obj_folder;
735
729
        mapi_object_t           obj_message;
738
732
 
739
733
        /* Step 1. Logon */
740
734
        mapi_object_init(&obj_store);
741
 
        retval = OpenMsgStore(mt->session, &obj_store);
 
735
        OpenMsgStore(mt->session, &obj_store);
742
736
        mapitest_print_retval(mt, "OpenMsgStore");
743
737
        if (GetLastError() != MAPI_E_SUCCESS) {
744
738
                return false;
745
739
        }
746
740
 
747
741
        /* Step 2. Open Outbox folder */
748
 
        retval = GetDefaultFolder(&obj_store, &id_folder, olFolderOutbox);
 
742
        GetDefaultFolder(&obj_store, &id_folder, olFolderOutbox);
749
743
        mapitest_print_retval(mt, "GetDefaultFolder");
750
744
        if (GetLastError() != MAPI_E_SUCCESS) {
751
745
                return false;
752
746
        }
753
747
 
754
748
        mapi_object_init(&obj_folder);
755
 
        retval = OpenFolder(&obj_store, id_folder, &obj_folder);
 
749
        OpenFolder(&obj_store, id_folder, &obj_folder);
756
750
        mapitest_print_retval(mt, "OpenFolder");
757
751
        if (GetLastError() != MAPI_E_SUCCESS) {
758
752
                return false;
760
754
 
761
755
        /* Step 3. Create the message */
762
756
        mapi_object_init(&obj_message);
763
 
        retval = CreateMessage(&obj_folder, &obj_message);
 
757
        CreateMessage(&obj_folder, &obj_message);
764
758
        mapitest_print_retval(mt, "CreateMessage");
765
759
        if (GetLastError() != MAPI_E_SUCCESS) {
766
760
                return false;
767
761
        }
768
762
 
769
763
        /* Step 4. Save the message */
770
 
        retval = SaveChangesMessage(&obj_folder, &obj_message, KeepOpenReadOnly);
 
764
        SaveChangesMessage(&obj_folder, &obj_message, KeepOpenReadOnly);
771
765
        mapitest_print_retval(mt, "SaveChangesMessage");
772
766
        if (GetLastError() != MAPI_E_SUCCESS) {
773
767
                return false;
775
769
 
776
770
        /* Step 5. Delete the saved message */
777
771
        id_msgs[0] = mapi_object_get_id(&obj_message);
778
 
        retval = DeleteMessage(&obj_folder, id_msgs, 1);
 
772
        DeleteMessage(&obj_folder, id_msgs, 1);
779
773
        mapitest_print_retval(mt, "DeleteMessage");
780
774
        if (GetLastError() != MAPI_E_SUCCESS) {
781
775
                return false;
1018
1012
        /* Fetch the first email */
1019
1013
        retval = QueryRows(&obj_ctable, 1, TBL_NOADVANCE, &SRowSet);
1020
1014
        mapitest_print_retval_clean(mt, "QueryRows", retval);
1021
 
        if (retval != MAPI_E_SUCCESS) {
 
1015
        if (retval != MAPI_E_SUCCESS || SRowSet.cRows == 0) {
1022
1016
                ret = false;
1023
1017
                goto release;
1024
1018
        }
1048
1042
 
1049
1043
        /* Step 7. Delete the saved message */
1050
1044
        id_msgs[0] = mapi_object_get_id(&obj_message);
1051
 
        retval = DeleteMessage(&obj_folder, id_msgs, 1);
 
1045
        DeleteMessage(&obj_folder, id_msgs, 1);
1052
1046
        mapitest_print_retval(mt, "DeleteMessage");
1053
1047
        if (GetLastError() != MAPI_E_SUCCESS) {
1054
1048
                return false;
1061
1055
        mapi_object_release(&obj_folder);
1062
1056
        mapi_object_release(&obj_store);
1063
1057
 
1064
 
        return true;
 
1058
        return ret;
1065
1059
}
1066
1060
 
1067
1061
/**
1288
1282
                return false;
1289
1283
        }
1290
1284
 
1291
 
        ret = mapitest_common_message_fill(mt, &obj_embeddedmsg, "[MT] EmbeddedMessage");
 
1285
        ret = mapitest_common_message_fill(mt, &obj_embeddedmsg, "MT EmbeddedMessage");
1292
1286
        if (ret == false) {
1293
1287
                mapi_object_release(&obj_embeddedmsg);
1294
1288
                mapi_object_release(&obj_attach);