"Fossies" - the Fresh Open Source Software archive 
Member "evolution-brutus-1.2.35/idl/IMAPIProp.idl" of archive evolution-brutus-1.2.35.tar.gz:
/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
* Copyright (C) 2008 OMC Denmark ApS.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* 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 F2T_IMAPIPROP_DEF
#define F2T_IMAPIPROP_DEF
#pragma prefix "omc.brutus"
#include "types.idl"
#include "IMAPIProgress.idl"
module BRUTUS {
interface IMAPIProp : IUnknown {
BRESULT GetLastError(in BRESULT ReturnCode,
in BDEFINE ulFlags,
out MAPIERROR lppMAPIError);
BRESULT SaveChanges(in BDEFINE ulFlags);
BRESULT GetProps(in SPropTagArray lpPropTagArray,
in BDEFINE ulFlags,
out seq_SPropValue lppPropArray);
BRESULT GetPropList(in BDEFINE ulFlags,
out SPropTagArray lppPropTagArray);
BRESULT OpenProperty(in unsigned long ulPropTag,
in GUID lpiid,
in unsigned long ulInterfaceOptions,
in BDEFINE ulFlags,
out IUnknown lppUnk);
// The behavior is as according to MSDN for a NULL lppProblems
// if ProblemInfo is false.
BRESULT SetProps(in seq_SPropValue lpPropArray,
in boolean ProblemInfo,
out SPropProblemArray lppProblems);
// The behavior is as according to MSDN for a NULL lppProblems
// if ProblemInfo is false.
BRESULT DeleteProps(in SPropTagArray lpPropTagArray,
in boolean ProblemInfo,
out SPropProblemArray lppProblems);
// The lpDestObj parameter has been changed from an interface to an
// entry id (better design..).
// The behavior is as according to MSDN for a NULL lppProblems
// if ProblemInfo is false.
BRESULT CopyTo(in seq_GUID rgiidExclude,
in SPropTagArray lpExcludeProps,
in IMAPIProgress lpProgress,
in GUID lpInterface,
in ENTRYID lpDestObj,
in BDEFINE ulFlags,
in boolean ProblemInfo,
out SPropProblemArray lppProblems);
// The behavior is as according to MSDN for a NULL lppProblems
// if ProblemInfo is false.
BRESULT CopyProps(in SPropTagArray lpIncludeProps,
in IMAPIProgress lpProgress,
in GUID lpInterface,
in ENTRYID lpDestObj,
in BDEFINE ulFlags,
in boolean ProblemInfo,
out SPropProblemArray lppProblems);
// The behavior is as according to MSDN for a NULL lppPropTags
// if lppPropTags has zero length.
BRESULT GetNamesFromIDs(inout SPropTagArray lppPropTags,
in GUID lpPropSetGuid,
in BDEFINE ulFlags,
out seq_MAPINAMEID lpppPropNames);
BRESULT GetIDsFromNames(in seq_MAPINAMEID lppPropNames,
in BDEFINE ulFlags,
out SPropTagArray lppPropTags);
///////////////////////////////////////////////////////////
// //
// The following functions are generic helper functions. //
// They are *not* a part of IMAPIProp proper. //
// //
///////////////////////////////////////////////////////////
// This will retrieve an SPropValue array for the MNID_ID or
// MNID_STRING named properties in lpPropTagArray.
// See IMAPIProp::GetProps().
BRESULT GetNamedProps(in GUID PropSetGuid, // the property set
in seq_NamedPropertyTag lpPropTagArray, // the named property tags
in BDEFINE ulFlags, // flags given to IMAPIProp::GetProps()
out seq_SPropValue lppPropArray); // the SPropValue return values
// This will set the SPropValues on an object for the MNID_ID
// or MNID_STRING named properties in lpPropArray.
// See IMAPIProp::SetProps().
BRESULT SetNamedProps(in GUID PropSetGuid, // the property set
in seq_NamedPropertyTag lpPropTagArray, // the named property tags
in seq_SPropValue lpPropArray, // the SPropValues to set
in boolean ProblemInfo, // return problem info?
out SPropProblemArray lppProblems); // problem info
}; // End of IMAPIProp::IUnknown
}; // End of module BRUTUS
#endif