Skip to content

Commit a2c814f

Browse files
committed
mapi_lib: make EXT_PUSH take std::span where possible
1 parent c97da70 commit a2c814f

File tree

3 files changed

+275
-264
lines changed

3 files changed

+275
-264
lines changed

include/gromox/ext_buffer.hpp

Lines changed: 26 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ struct OPENRECIPIENT_ROW;
8484
struct PERMISSION_DATA;
8585
struct PERSISTDATA;
8686
struct PROBLEM_ARRAY;
87+
struct PROPERTY_PROBLEM;
8788
struct PROPERTY_ROW;
8889
struct READRECIPIENT_ROW;
8990
struct RECIPIENT_ROW;
@@ -172,7 +173,7 @@ struct GX_EXPORT EXT_PULL {
172173
pack_result g_propval(uint16_t type, void **);
173174
pack_result g_tagged_pv(TAGGED_PROPVAL *);
174175
pack_result g_flagged_pv(uint16_t type, FLAGGED_PROPVAL *);
175-
pack_result g_proprow(const PROPTAG_ARRAY &cols, PROPERTY_ROW *);
176+
pack_result g_proprow(std::span<const gromox::proptag_t>, PROPERTY_ROW *);
176177
pack_result g_propname(PROPERTY_NAME *);
177178
pack_result g_propname_a(PROPNAME_ARRAY *);
178179
pack_result g_propid_a(PROPID_ARRAY *);
@@ -185,8 +186,8 @@ struct GX_EXPORT EXT_PULL {
185186
pack_result g_msg_eid(MESSAGE_ENTRYID *);
186187
pack_result g_sortorder(SORT_ORDER *);
187188
pack_result g_sortorder_set(SORTORDER_SET *);
188-
pack_result g_recipient_row(const PROPTAG_ARRAY &tags, RECIPIENT_ROW *);
189-
pack_result g_modrcpt_row(const PROPTAG_ARRAY &tags, MODIFYRECIPIENT_ROW *);
189+
pack_result g_recipient_row(std::span<const gromox::proptag_t>, RECIPIENT_ROW *);
190+
pack_result g_modrcpt_row(std::span<const gromox::proptag_t>, MODIFYRECIPIENT_ROW *);
190191
pack_result g_permission_data(PERMISSION_DATA *);
191192
pack_result g_rule_data(RULE_DATA *);
192193
pack_result g_abk_eid(EMSAB_ENTRYID *);
@@ -259,61 +260,52 @@ struct GX_EXPORT EXT_PUSH {
259260
pack_result p_str(const char *);
260261
pack_result p_str(const std::string &s) { return p_str(s.c_str()); }
261262
pack_result p_wstr(const char *);
262-
pack_result p_uint16_a(const SHORT_ARRAY &);
263-
pack_result p_uint16_a(const std::vector<uint16_t> &);
264-
pack_result p_uint32_a(const LONG_ARRAY &);
265-
pack_result p_uint32_a(const std::vector<uint32_t> &);
266-
pack_result p_uint64_a(const LONGLONG_ARRAY &);
267-
pack_result p_uint64_a(const std::vector<uint64_t> &);
268-
pack_result p_uint64_sa(const LONGLONG_ARRAY &);
269-
pack_result p_float_a(const FLOAT_ARRAY &);
270-
pack_result p_float_a(const std::vector<float> &);
271-
pack_result p_double_a(const DOUBLE_ARRAY &);
272-
pack_result p_double_a(const std::vector<double> &);
273-
pack_result p_bin_a(const BINARY_ARRAY &);
274-
pack_result p_str_a(const STRING_ARRAY &);
275-
pack_result p_str_a(const std::vector<std::string> &);
276-
pack_result p_wstr_a(const STRING_ARRAY &);
277-
pack_result p_wstr_a(const std::vector<std::string> &);
278-
pack_result p_guid_a(const GUID_ARRAY &);
279-
pack_result p_guid_a(const std::vector<GUID> &);
280-
pack_result p_proptag_a(const PROPTAG_ARRAY &);
263+
pack_result p_uint16_a(std::span<const uint16_t>);
264+
pack_result p_uint32_a(std::span<const uint32_t>);
265+
pack_result p_uint64_a(std::span<const uint64_t>);
266+
pack_result p_uint64_sa(std::span<const uint64_t>);
267+
pack_result p_float_a(std::span<const float>);
268+
pack_result p_double_a(std::span<const double>);
269+
pack_result p_bin_a(std::span<const BINARY>);
270+
pack_result p_str_a(std::span<const char *const>);
271+
pack_result p_wstr_a(std::span<const char *const>);
272+
pack_result p_guid_a(std::span<const GUID>);
281273
pack_result p_proptag_a(std::span<const gromox::proptag_t>);
282-
pack_result p_proptag_la(const LPROPTAG_ARRAY &);
274+
pack_result p_proptag_la(std::span<const gromox::proptag_t>);
283275
pack_result p_restriction(const RESTRICTION &);
284276
pack_result p_svreid(const SVREID &);
285277
pack_result p_store_eid(const STORE_ENTRYID &);
286278
pack_result p_rule_actions(const RULE_ACTIONS &);
287279
pack_result p_longterm(const LONG_TERM_ID &);
288-
pack_result p_longterm_a(const LONG_TERM_ID_ARRAY &);
280+
pack_result p_longterm_a(std::span<const LONG_TERM_ID>);
289281
pack_result p_propval(uint16_t, const void *);
290282
pack_result p_tagged_pv(const TAGGED_PROPVAL &);
291283
pack_result p_typed_pv(const TYPED_PROPVAL &);
292284
pack_result p_flagged_pv(uint32_t, const FLAGGED_PROPVAL &);
293-
pack_result p_proprow(const PROPTAG_ARRAY &, const PROPERTY_ROW &);
285+
pack_result p_proprow(std::span<const gromox::proptag_t>, const PROPERTY_ROW &);
294286
pack_result p_proprow(const LPROPTAG_ARRAY &, const PROPERTY_ROW &);
295287
pack_result p_propname(const PROPERTY_NAME &);
296-
pack_result p_propname_a(const PROPNAME_ARRAY &);
297-
pack_result p_propid_a(const PROPID_ARRAY &);
298-
pack_result p_tpropval_a(const TPROPVAL_ARRAY &);
299-
pack_result p_tpropval_la(const LTPROPVAL_ARRAY &);
288+
pack_result p_propname_a(std::span<const PROPERTY_NAME>);
289+
pack_result p_propid_a(std::span<const gromox::propid_t>);
290+
pack_result p_tpropval_a(std::span<const TAGGED_PROPVAL>);
291+
pack_result p_tpropval_la(std::span<const TAGGED_PROPVAL>);
300292
pack_result p_tarray_set(const TARRAY_SET &);
301-
pack_result p_problem_a(const PROBLEM_ARRAY &);
293+
pack_result p_problem_a(std::span<const PROPERTY_PROBLEM>);
302294
pack_result p_xid(const XID &);
303295
pack_result p_folder_eid(const FOLDER_ENTRYID &);
304296
pack_result p_msg_eid(const MESSAGE_ENTRYID &);
305297
pack_result p_sortorder(const SORT_ORDER &);
306298
pack_result p_sortorder_set(const SORTORDER_SET &);
307299
pack_result p_typed_str(const TYPED_STRING &);
308-
pack_result p_recipient_row(const PROPTAG_ARRAY &tags, const RECIPIENT_ROW &);
309-
pack_result p_openrecipient_row(const PROPTAG_ARRAY &tags, const OPENRECIPIENT_ROW &);
310-
pack_result p_readrecipient_row(const PROPTAG_ARRAY &tags, const READRECIPIENT_ROW &);
300+
pack_result p_recipient_row(std::span<const gromox::proptag_t>, const RECIPIENT_ROW &);
301+
pack_result p_openrecipient_row(std::span<const gromox::proptag_t>, const OPENRECIPIENT_ROW &);
302+
pack_result p_readrecipient_row(std::span<const gromox::proptag_t>, const READRECIPIENT_ROW &);
311303
pack_result p_permission_data(const PERMISSION_DATA &);
312304
pack_result p_rule_data(const RULE_DATA &);
313305
pack_result p_abk_eid(const EMSAB_ENTRYID_view &);
314306
pack_result p_oneoff_eid(const ONEOFF_ENTRYID_view &);
315307
pack_result p_persistdata_a(std::span<const PERSISTDATA>);
316-
pack_result p_eid_a(const EID_ARRAY &);
308+
pack_result p_eid_a(std::span<const uint64_t>);
317309
pack_result p_systime(const SYSTEMTIME &);
318310
pack_result p_tzstruct(const TZSTRUCT &);
319311
pack_result p_tzdef(const TZDEF &);

0 commit comments

Comments
 (0)