Previous Topic: Write and Define a DMS Workflow

Next Topic: Sm_DmsWorkflow_Attribute_t

Sm_Api_DmsContext_t

This structure provides DMS-specific context.

Syntax

typedef struct
{
   unsigned char        bIsUserContext;
   char*                lpszAdminUserName
   char*                lpszAdminUserPath;
   char*                lpszDirPath;
   void                 lpReserved1;
   char*                lpszDirServer;
   char*                lpszDirNamespace;
   char*                lpszSessionId;
   void*                lpDirParam;
   void*                lpAdminParam;
   Sm_Api_GetUserProp   fGetAdminProp;
   Sm_Api_GetDmsDnProp  fGetDnProp;
} Sm_Api_DmsContext_t;

Field

Description

bIsUserContext

Flag indicating that SiteMinder has established the user's identity and stored it in lpszAdminUserName. When this flag is set, the function referenced in fGetAdminProp can be used to obtain properties of this user.

lpszAdminUserName

The DMS administrator user name. This will be a full distinguished name for Administrator events, else it will be an empty string.

lpszAdminUserPath

The DMS administrator user path in the SiteMinder notation, for Administrator events only.

lpszDirPath

Directory path, in the SiteMinder notation, of a SiteMinder user directory specified by the registration scheme.

lpReserved1

Reserved for internal use.

lpszDirServer

The directory server of a SiteMinder user directory specified by the registration scheme.

lpszDirNamespace

The directory namespace.

lpszSessionId

The DMS session ID.

lpDirParam

Pointer to the parameters to be passed to fGetDnProp.

lpAdminParam

Pointer to the parameters to be passed to fGetAdminProp.

fGetAdminProp

Function that returns attributes of the administrative user. The calling syntax for this function is:

int nMaxBufSize = 256;

char lpszResult[256];

int nBuflen = lpDmsContext->fGetProp (

   lpDmsContext->lpAdminParam,

   "mail",

   nMaxBufSize,

   lpszResult);

If the function succeeds, the return value is the number of bytes in the output buffer. If the function fails, the return value is -1.

 

fGetDnProp

Function that returns attributes given a distinguished name. Any object may be examined as long as it can be retrieved from the directory server. The calling syntax for this function is:

int nMaxBufSize = 256;

char lpszResult[256];

char lpszDn[] =

   "uid=jsmith,ou=People,o=dms.com";

int nBuflen = lpDmsContext->fGetProp (

   lpDmsContext->lpDirParam,

   lpszDn,

   "mail",

   nMaxBufSize,

   lpszResult);

If the function succeeds, the return value is the number of bytes in the output buffer. If the function fails, the return value is -1.

 

Function Declarations

In structure Sm_Api_DmsContext_t, the functions fGetAdminProp and fGetDnProp are declared in SmApi.h as follows:

fGetAdminProp

typedef int (SM_EXTERN *Sm_Api_GetUserProp)
(
const void* lpParam,        /* The function parameter */
const char* lpszPropName,   /* User property name (null-term) */
const int nBytesValueBuf,   /* Max size of user property buffer */
char* lpszValueBuf   /* Output buffer to hold the user property */
);

fGetDnProp

typedef int (SM_EXTERN *Sm_Api_GetDmsDnProp)
(
const void* lpParam,       /* The function parameter */
const char* lpszDN,        /* The DN of the object */
const char* lpszPropName,  /* Object property name (null-term) */
const int nBytesValueBuf,  /* Max size of object property buffer */
char* lpszValueBuf  /* Output buffer to hold the object property */
);


Copyright © 2010 CA. All rights reserved. Email CA about this topic