You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
203 lines
6.9 KiB
203 lines
6.9 KiB
/*==============================================================================
|
|
Copyright (c) 2003-2005 UGS Corporation
|
|
Unpublished - All Rights Reserved
|
|
==============================================================================*/
|
|
|
|
/**
|
|
@file
|
|
|
|
This file contains the prototypes for the ITK functions for the Envelope class.
|
|
|
|
Envelope is a subclass of Folder.
|
|
Therefore, all FL and WSOM functions work with objects of this class.
|
|
#FL_insert, #FL_remove and #FL_ask_references are the only way to
|
|
add, remove, or ask the contents of the envelope.
|
|
Additionally, all AOM functions work with envelopes.
|
|
|
|
The basic process involved with mail is to create an envelope,
|
|
insert the objects that you desire to mail,
|
|
add the users, group members, groups, or distribution lists that
|
|
you wish to send the objects to, and then send the envelope.
|
|
*/
|
|
|
|
/* */
|
|
|
|
#ifndef ENVELOPE_H
|
|
#define ENVELOPE_H
|
|
|
|
#include <unidefs.h>
|
|
|
|
#include <tccore/workspaceobject.h>
|
|
#include <tc/libtc_exports.h>
|
|
|
|
/**
|
|
@defgroup MAIL Teamcenter Mail
|
|
|
|
An alias list is a list of objects to which the system can send mail.
|
|
Users, groups, group members, or other distribution lists can be added to an alias list.
|
|
The alias list is same as the Address List shown in the Teamcenter user interface.
|
|
You can use these objects in regular Teamcenter mail or as notification lists for authorizations.
|
|
|
|
The ImanAliasList class is a subclass of POM_application_object.
|
|
All AOM functions work with alias lists.
|
|
|
|
@{
|
|
*/
|
|
|
|
typedef struct MAIL_message_s
|
|
{
|
|
tag_t tag; /**< Tag of the envelope from where the email is sent */
|
|
const char* from_user; /**< Email address of the sender */
|
|
const char* to_user; /**< Email address of the recipient */
|
|
const char* subject; /**< Subject of the email */
|
|
const char* text; /**< Body of the email */
|
|
logical is_Cc_recipient; /**< Specifies if the recipient is a carbon-copy recipient */
|
|
} MAIL_message_t;
|
|
|
|
typedef int (* MAIL_send_callback_t) ( MAIL_message_t message );
|
|
|
|
typedef enum MAIL_callback_position_e
|
|
{
|
|
MAIL_replaced_callback,
|
|
MAIL_before_callback,
|
|
MAIL_after_callback
|
|
} MAIL_callback_position_t;
|
|
|
|
typedef enum MAIL_to_or_cc_e
|
|
{
|
|
MAIL_send_to,
|
|
MAIL_send_cc
|
|
} MAIL_to_or_cc_t;
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"{
|
|
#endif
|
|
|
|
extern TC_API int MAIL_envelope_extent(
|
|
int* n_instances, /**< (O) */
|
|
tag_t** instances /**< (OF) n_instances */
|
|
);
|
|
|
|
/**
|
|
Creates a new envelope.
|
|
The values for subject and comments may be read back with
|
|
#WSOM_ask_name2 and #WSOM_ask_description2 respectively.
|
|
|
|
@note From Tc9.0 onwards, please use generic creation of BusinessObject (i.e. createBusinessObject (C++) or #TCTYPE_create_object ).
|
|
*/
|
|
extern TC_API int MAIL_create_envelope (
|
|
const char subject[WSO_name_size_c + 1], /**< (I) */
|
|
const char comments[WSO_desc_size_c + 1], /**< (I) */
|
|
tag_t* envelope /**< (O) */
|
|
);
|
|
|
|
|
|
/**
|
|
Initializes an envelope.
|
|
<br/>Call this function immediately after creating an instance of a subclass of Envelope.
|
|
*/
|
|
extern TC_API int MAIL_initialize_envelope2 (
|
|
tag_t envelope, /**< (I) */
|
|
const char *subject, /**< (I) */
|
|
const char *comments /**< (I) */
|
|
);
|
|
|
|
/**
|
|
Adds a new recipient (receiver) to an envelope.
|
|
This can be a user, a groupmember, a group, or a distribution list.
|
|
*/
|
|
extern TC_API int MAIL_add_envelope_receiver (
|
|
tag_t envelope, /**< (I) */
|
|
tag_t receiver /**< (I) */
|
|
);
|
|
|
|
/**
|
|
Adds a new carbon copy recipient (ccReceiver) to an envelope.
|
|
This can be a user, a groupmember, a group, or a distribution list.
|
|
*/
|
|
extern TC_API int MAIL_add_envelope_cc_receiver (
|
|
tag_t envelope, /**< (I) */
|
|
tag_t ccReceiver /**< (I) */
|
|
);
|
|
|
|
/**
|
|
Lists all of the current receivers for the given envelope.
|
|
*/
|
|
extern TC_API int MAIL_list_envelope_receivers (
|
|
tag_t envelope, /**< (I) */
|
|
int* count, /**< (O) */
|
|
tag_t** receivers /**< (OF) count */
|
|
);
|
|
|
|
/**
|
|
Lists all of the current primary receivers for the given envelope.
|
|
*/
|
|
extern TC_API int MAIL_list_envelope_to_receivers (
|
|
tag_t envelope, /**< (I) */
|
|
int* count, /**< (O) */
|
|
tag_t** receivers /**< (OF) count */
|
|
);
|
|
|
|
/**
|
|
Lists all of the current carbon copy receivers for the given envelope.
|
|
*/
|
|
extern TC_API int MAIL_list_envelope_cc_receivers (
|
|
tag_t envelope, /**< (I) */
|
|
int* count, /**< (O) */
|
|
tag_t** ccReceivers /**< (OF) count */
|
|
);
|
|
|
|
/**
|
|
Sends the envelope and its contents to all of the envelope's receivers.
|
|
Once this ITK has been called, the envelope is deleted.
|
|
|
|
If the preference Mail_OSMail_activated is not set to true, only Teamcenter
|
|
mail will be sent, and external recipients will not receive the mail.
|
|
*/
|
|
extern TC_API int MAIL_send_envelope (
|
|
tag_t envelope /**< (I) */
|
|
);
|
|
|
|
/**
|
|
Registers functions to execute in relation with sending OS Mail.
|
|
|
|
When the value of position is MAIL_replaced_callback, the given function will totally
|
|
replace the Teamcenter OSMail code.
|
|
When the value of position is MAIL_before_callback, the given function will be executed
|
|
prior to the OS Mail function (it being either the Teamcenter function or the one given
|
|
through a call to this function with position=MAIL_replaced_callback).
|
|
When the value of position is MAIL_after_callback, the given function will be executed
|
|
after the OS Mail function.
|
|
|
|
The registered functions and/or the Teamcenter mail function are executed only if the
|
|
preference Mail_OSMail_activated is set to TRUE.
|
|
Besides, they are executed once for each internal recipient.
|
|
*/
|
|
extern TC_API int MAIL_register_send_callback(
|
|
MAIL_send_callback_t function_pointer, /**< (I) */
|
|
MAIL_callback_position_t position /**< (I) */
|
|
);
|
|
|
|
/**
|
|
Adds a new external recipient (receiver) to an envelope.
|
|
This receiver should be a recognizable e-mail address or alias that is recognized in the current mail domain.
|
|
It must also be specified whether this address is to be on the To list or CC list of the outgoing e-mail.
|
|
|
|
Note that the preference Mail_OSMail_activated must be set to TRUE for those recipients to receive the message.
|
|
*/
|
|
extern TC_API int MAIL_add_external_receiver (
|
|
tag_t envelope, /**< (I) The envelope tag */
|
|
MAIL_to_or_cc_t to_or_cc, /**< (I) To or CC information. This must be either #MAIL_send_to or #MAIL_send_cc. */
|
|
char* receiver /**< (I) Valid e-mail address ( e.g., joe@company.com ) */
|
|
);
|
|
|
|
/** @} */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#include <tc/libtc_undef.h>
|
|
|
|
#endif
|