/*
 * Copyright 2005 - 2009  Zarafa B.V.
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License, version 3, 
 * as published by the Free Software Foundation with the following additional 
 * term according to sec. 7:
 *  
 * According to sec. 7 of the GNU Affero General Public License, version
 * 3, the terms of the AGPL are supplemented with the following terms:
 * 
 * "Zarafa" is a registered trademark of Zarafa B.V. The licensing of
 * the Program under the AGPL does not imply a trademark license.
 * Therefore any rights, title and interest in our trademarks remain
 * entirely with us.
 * 
 * However, if you propagate an unmodified version of the Program you are
 * allowed to use the term "Zarafa" to indicate that you distribute the
 * Program. Furthermore you may use our trademarks where it is necessary
 * to indicate the intended purpose of a product or service provided you
 * use it in accordance with honest practices in industrial or commercial
 * matters.  If you want to propagate modified versions of the Program
 * under the name "Zarafa" or "Zarafa Server", you may only do so if you
 * have a written permission by Zarafa B.V. (to acquire a permission
 * please contact Zarafa at trademark@zarafa.com).
 * 
 * The interactive user interface of the software displays an attribution
 * notice containing the term "Zarafa" and/or the logo of Zarafa.
 * Interactive user interfaces of unmodified and modified versions must
 * display Appropriate Legal Notices according to sec. 5 of the GNU
 * Affero General Public License, version 3, when you propagate
 * unmodified or modified versions of the Program. In accordance with
 * sec. 7 b) of the GNU Affero General Public License, version 3, these
 * Appropriate Legal Notices must retain the logo of Zarafa or display
 * the words "Initial Development by Zarafa" if the display of the logo
 * is not reasonably feasible for technical reasons."
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Affero General Public License for more details.
 *  
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * 
 */

#ifndef ECGUID_H
#define ECGUID_H

// Zarafa external used guids


// {3C253DCA-D227-443c-94FE-425FAB958C19}
DEFINE_GUID(ZARAFA_SERVICE_GUID, 
0x3c253dca, 0xd227, 0x443c, 0x94, 0xfe, 0x42, 0x5f, 0xab, 0x95, 0x8c, 0x19);

// {D47F4A09-D3BD-493c-B2FC-3C90BBCB48D4}
DEFINE_GUID(ZARAFA_STORE_PUBLIC_GUID, 
0xd47f4a09, 0xd3bd, 0x493c, 0xb2, 0xfc, 0x3c, 0x90, 0xbb, 0xcb, 0x48, 0xd4);

// {7C7C1085-BC6D-4e53-9DAB-8A53F8DEF808}
DEFINE_GUID(ZARAFA_STORE_DELEGATE_GUID, 
0x7c7c1085, 0xbc6d, 0x4e53, 0x9d, 0xab, 0x8a, 0x53, 0xf8, 0xde, 0xf8, 0x8);

// {50A921AC-D340-48ee-B319-FBA753304425}
// same as MUIDECSAB
#define MUIDECSAB_SERVER "\xAC\x21\xA9\x50\x40\xD3\xEE\x48\xB3\x19\xFB\xA7\x53\x30\x44\x25"

// {0x7976ED54D0D211DD9705BE5055D89593}
#define MUIDECSI_SERVER "\x79\x76\xED\x54\xD0\xD2\x11\xDD\x97\x05\xBE\x50\x55\xD8\x95\x93"

// {5ABAE40E-1DF7-4f3d-964D-658A79924E9D}
DEFINE_GUID(ZARAFA_SAB_GUID, 
0x5abae40e, 0x1df7, 0x4f3d, 0x96, 0x4d, 0x65, 0x8a, 0x79, 0x92, 0x4e, 0x9d);

// {A7D80ED6-D027-11DD-B0B6-645055D89593}
DEFINE_GUID(IID_IECSingleInstance,
0xa7d80ed6, 0xd027, 0x11dd, 0xb0, 0xb6, 0x64, 0x50, 0x55, 0xd8, 0x95, 0x93);

// {20C5963F-0E0B-4d7f-B75D-8ACD88727119}
DEFINE_GUID(IID_IECSpooler, 
0x20c5963f, 0xe0b, 0x4d7f, 0xb7, 0x5d, 0x8a, 0xcd, 0x88, 0x72, 0x71, 0x19);

// {A4445398-6996-4a29-8C45-50C83E3DE270}
DEFINE_GUID(IID_IECServiceAdmin, 
0xa4445398, 0x6996, 0x4a29, 0x8c, 0x45, 0x50, 0xc8, 0x3e, 0x3d, 0xe2, 0x70);

// {6D4FE98E-09DF-4d85-A191-896B1F89F911}
DEFINE_GUID(IID_IECSecurity, 
0x6d4fe98e, 0x9df, 0x4d85, 0xa1, 0x91, 0x89, 0x6b, 0x1f, 0x89, 0xf9, 0x11);

// {B1514D30-D8BF-48A3-9560-6F78E7A5005B}
DEFINE_GUID(IID_IECMultiStoreTable,
0xb1514d30, 0xd8bf, 0x48a3, 0x95, 0x60, 0x6f, 0x78, 0xe7, 0xa5, 0x00, 0x5b);

// {a9a55c9a-d2bb-461e-9ff5-fd4ed9844c2e}
DEFINE_GUID(IID_IECLicense,
0xa9a55c9a, 0xd2bb, 0x461e, 0x9f, 0xf5, 0xfd, 0x4e, 0xd9, 0x84, 0x4c, 0x2e);

// {49941EA5-E4BC-46c5-BF61-E94C1543B612}
DEFINE_GUID(IID_ECMemBlock, 
0x49941ea5, 0xe4bc, 0x46c5, 0xbf, 0x61, 0xe9, 0x4c, 0x15, 0x43, 0xb6, 0x12);

// {6C5377B7-B5CA-4e14-BC94-E16048BA2B10}
DEFINE_GUID(IID_ECMemStream, 
0x6c5377b7, 0xb5ca, 0x4e14, 0xbc, 0x94, 0xe1, 0x60, 0x48, 0xba, 0x2b, 0x10);

// {1A2038D1-4152-42b5-90C5-D4D6126B9314}
DEFINE_GUID(IID_ECUnknown, 
0x1a2038d1, 0x4152, 0x42b5, 0x90, 0xc5, 0xd4, 0xd6, 0x12, 0x6b, 0x93, 0x14);

// {707E2DC8-CF4D-438e-B220-2F17AA792DD1}
DEFINE_GUID(IID_ECMemTable,
0x707e2dc8, 0xcf4d, 0x438e, 0xb2, 0x20, 0x2f, 0x17, 0xaa, 0x79, 0x2d, 0xd1);

// {75C99339-15B4-4d9a-B384-69ED7AD5479E}
DEFINE_GUID(IID_ECMemTablePublic, 
0x75c99339, 0x15b4, 0x4d9a, 0xb3, 0x84, 0x69, 0xed, 0x7a, 0xd5, 0x47, 0x9e);

// {68E696C9-F905-4ff4-B677-2C951047D0EE}
DEFINE_GUID(IID_ECMemTableView, 
0x68e696c9, 0xf905, 0x4ff4, 0xb6, 0x77, 0x2c, 0x95, 0x10, 0x47, 0xd0, 0xee);

// {BD574D55-174E-4873-9873-579EB192243C}
DEFINE_GUID(IID_ECExchangeModifyTable, 
0xbd574d55, 0x174e, 0x4873, 0x98, 0x73, 0x57, 0x9e, 0xb1, 0x92, 0x24, 0x3c);

// {6603936A-3AFC-4276-BD91-0C543615C8FF}
DEFINE_GUID(IID_ECFreeBusySupport, 
0x6603936a, 0x3afc, 0x4276, 0xbd, 0x91, 0xc, 0x54, 0x36, 0x15, 0xc8, 0xff);

// {EE4E17E9-22CA-47e1-8A60-06074BAD1FD3}
DEFINE_GUID(IID_ECFreeBusyData, 
0xee4e17e9, 0x22ca, 0x47e1, 0x8a, 0x60, 0x6, 0x7, 0x4b, 0xad, 0x1f, 0xd3);

// {F1E1CA2C-4FB9-48fa-9D3C-B22AFD51879F}
DEFINE_GUID(IID_ECEnumFBBlock, 
0xf1e1ca2c, 0x4fb9, 0x48fa, 0x9d, 0x3c, 0xb2, 0x2a, 0xfd, 0x51, 0x87, 0x9f);

// {C60B88A3-17C8-4206-B8A0-C68C09841330}
DEFINE_GUID(IID_ECFreeBusyUpdate, 
0xc60b88a3, 0x17c8, 0x4206, 0xb8, 0xa0, 0xc6, 0x8c, 0x9, 0x84, 0x13, 0x30);

// {a2656166-eaee-4cf7-8c55-4c05b66b81bb}
DEFINE_GUID(IID_IECExportChanges,
0xa2656166, 0xeaee, 0x4cf7, 0x8c, 0x55, 0x4c, 0x05, 0xb6, 0x6b, 0x81, 0xbb);


// {13CC44F2-B516-4a03-B2C0-F33B47CADF89}
DEFINE_GUID(IID_ECMsgStoreOffline, 
0x13cc44f2, 0xb516, 0x4a03, 0xb2, 0xc0, 0xf3, 0x3b, 0x47, 0xca, 0xdf, 0x89);

// {013E8536-131E-44e5-A46A-F399B9C05391}
DEFINE_GUID(IID_ECMsgStoreOnline, 
0x13e8536, 0x131e, 0x44e5, 0xa4, 0x6a, 0xf3, 0x99, 0xb9, 0xc0, 0x53, 0x91);

// {09f33e65-6886-4bf2-a26f-fa0ec4e94216}
DEFINE_GUID(IID_IECExportAddressbookChanges,
0x09f33e65, 0x6886, 0x4bf2, 0xa2, 0x6f, 0xfa, 0x0e, 0xc4, 0xe9, 0x42, 0x16);

// {1843c89e-2411-11de-be6e-7c3256d89593}
DEFINE_GUID(IID_IECImportAddressbookChanges,
0x1843c89e, 0x2411, 0x11de, 0xbe, 0x6e, 0x7c, 0x32, 0x56, 0xd8, 0x95, 0x93);

// {1c2d9897-f459-4a55-9d11-cd9e7c7551ee}
DEFINE_GUID(IID_IECServerBehavior,
0x1c2d9897, 0xf459, 0x4a55, 0x9d, 0x11, 0xcd, 0x9e, 0x7c, 0x75, 0x51, 0xee);

// {7175DE83-33A2-4d69-8D9A-17726EB2FCDD}
DEFINE_GUID(IID_IECServerMimic, 
0x7175de83, 0x33a2, 0x4d69, 0x8d, 0x9a, 0x17, 0x72, 0x6e, 0xb2, 0xfc, 0xdd);

//FIXME: Move those guids non zarafa guids, only linux?

// {00020400-0000-0000-C000-000000000046}
DEFINE_GUID(IID_IDispatch,
0x00020400, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);

// {d597bab1-5b9f-11d1-8dd2-00aa004abd5e}
DEFINE_GUID(IID_ISensNetwork,
0xd597bab1, 0x5b9f, 0x11d1, 0x8d, 0xd2, 0x00, 0xaa, 0x00, 0x4a, 0xbd, 0x5e);

// Unique identifier of a public entryid
#define STATIC_GUID_PUBLICFOLDER "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03"
#define STATIC_GUID_FAVORITE "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02"
#define STATIC_GUID_FAVSUBTREE "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01"

#endif

