"Fossies" - the Fresh Open Source Software Archive

Member "evolution-mapi-3.46.1/src/libexchangemapi/e-mapi-cal-utils.h" (2 Dec 2022, 3109 Bytes) of package /linux/misc/evolution-mapi-3.46.1.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "e-mapi-cal-utils.h" see the Fossies "Dox" file reference documentation.

    1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
    2 /*
    3  * This program is free software; you can redistribute it and/or
    4  * modify it under the terms of the GNU Lesser General Public
    5  * License as published by the Free Software Foundation; either
    6  * version 2 of the License, or (at your option) version 3.
    7  *
    8  * This program is distributed in the hope that it will be useful,
    9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
   10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   11  * Lesser General Public License for more details.
   12  *
   13  * You should have received a copy of the GNU Lesser General Public
   14  * License along with the program; if not, see <http://www.gnu.org/licenses/>
   15  *
   16  *
   17  * Authors:
   18  *    Suman Manjunath <msuman@novell.com>
   19  *
   20  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
   21  *
   22  */
   23 
   24 #ifndef E_MAPI_CAL_UTILS_H
   25 #define E_MAPI_CAL_UTILS_H
   26 
   27 #include <libecal/libecal.h>
   28 
   29 #include "e-mapi-connection.h"
   30 #include "e-mapi-defs.h"
   31 #include "e-mapi-utils.h"
   32 
   33 #include "e-mapi-cal-tz-utils.h"
   34 #include "e-mapi-cal-recur-utils.h"
   35 
   36 G_BEGIN_DECLS
   37 
   38 typedef enum {
   39     NOT_A_MEETING       = (1 << 0),
   40     MEETING_OBJECT      = (1 << 1),
   41     MEETING_OBJECT_SENT = (1 << 2),
   42     MEETING_OBJECT_RCVD = (1 << 3),
   43     MEETING_REQUEST     = (1 << 4),
   44     MEETING_REQUEST_RCVD    = (1 << 5),
   45     MEETING_RESPONSE    = (1 << 6),
   46     MEETING_RESPONSE_RCVD   = (1 << 7),
   47     MEETING_CANCEL      = (1 << 8),
   48     MEETING_CANCEL_RCVD = (1 << 9)
   49 } MAPIMeetingOptions;
   50 
   51 struct cal_cbdata {
   52     ICalComponentKind kind;
   53     ECalComponent *comp;
   54     gboolean is_modify;
   55 
   56     /* These are appt specific data */
   57     MAPIMeetingOptions meeting_type;
   58     uint32_t appt_id;
   59     uint32_t appt_seq;
   60     struct SBinary_short *globalid;
   61     struct SBinary_short *cleanglobalid;
   62 
   63     uint32_t msgflags;
   64     OlResponseStatus resp;
   65     gchar *username;
   66     gchar *useridtype;
   67     gchar *userid;
   68     gchar *ownername;
   69     gchar *owneridtype;
   70     gchar *ownerid;
   71 
   72     /* custom callback to get timezone from a backend */
   73     gpointer get_tz_data;
   74     ICalTimezone * (*get_timezone)(ETimezoneCache *get_tz_data, const gchar *tzid);
   75 };
   76 
   77 void        e_mapi_cal_util_generate_globalobjectid     (gboolean is_clean,
   78                                  const gchar *uid,
   79                                  const struct timeval *exception_replace_time,
   80                                  const struct FILETIME *creation_time,
   81                                  struct SBinary_short *sb);
   82 
   83 uint32_t    e_mapi_cal_util_get_new_appt_id         (EMapiConnection *conn,
   84                                  mapi_id_t fid);
   85 
   86 gboolean    e_mapi_cal_utils_get_free_busy_data     (EMapiConnection *conn,
   87                                  const GSList *users,
   88                                  time_t start,
   89                                  time_t end,
   90                                  GSList **freebusy,
   91                                  GCancellable *cancellable,
   92                                  GError **mapi_error);
   93 
   94 ECalComponent * e_mapi_cal_util_object_to_comp          (EMapiConnection *conn,
   95                                  EMapiObject *object,
   96                                  ICalComponentKind kind,
   97                                  gboolean is_reply,
   98                                  const gchar *use_uid,
   99                                  GSList **detached_components);
  100 
  101 gboolean    e_mapi_cal_utils_comp_to_object         (EMapiConnection *conn,
  102                                  TALLOC_CTX *mem_ctx,
  103                                  EMapiObject **pobject, /* out */
  104                                  gpointer user_data,
  105                                  GCancellable *cancellable,
  106                                  GError **perror);
  107 
  108 G_END_DECLS
  109 
  110 #endif