Name Last modified Size Description
Parent Directory -
CHANGELOG.html 18-Feb-2005 08:47 3.1K
DEPENDENCIES.html 18-Feb-2005 16:15 1.2K
DOCUMENTATION.html 24-Jan-2005 00:00 132
LICENSE.txt 15-Nov-2004 00:00 11K
README.html 31-Jan-2005 00:00 18K
SAMPLECODE.html 24-Jan-2005 00:00 132
builds/ 27-Aug-2008 01:33 -
GroupWise Object API lets you see, use, and manipulate the GroupWise information store from outside GroupWise 5.x and 6.x. The Object API lets you use the GroupWise address book and document management capabilities to manipulate mail messages, appointments, tasks, notes, and phone messages.
You can use the Object API through OLE languages such as Visual Basic and Delphi and object-oriented languages such as C++. The Object API supports OLE Automation, which is an industry standard for interfacing applications.
To use the GroupWise Object API, you must have a 32-bit version of GroupWise installed.
To see what was changed in the software, sample code, and documentation for previous releases, see the What's New Archive.
To see the specific documentation changes that were made, see the Revision History.
You can download an evaluation copy of GroupWise from the Novell Web site.
For complete installation instructions, see the GroupWise Installation Guide.
The following sections cover known issues with this release:
The gwoapi.h file is the original header file and contains all interfaces defined for the GroupWise Object API system in the original interface.
The gwoapi2.h file was created after the GroupWise 6.0, Service Pack 1 release. It contains all the original interfaces and many new interfaces, properties, and methods that have been defined since the original interface.
If you are writing new code, you can use the gwoapi.h file to access the GroupWise Object API. However, you will not be able to use any of the new interfaces, methods, or properties.
If you use the gwoapi2.h file, it will give you access to all interfaces, methods, and properties supported in the GroupWise Object API release version 6.0 SP1.
For the Messages collection and Account2 new GUID, the new code must handle a possible E_NOINTERFACE error that is returned when running against earlier versions of GroupWise. If E_NOINTERFACE is returned, ask for the interface from the older version (Account2Old or MessagesOld). If the second call is successful, all older methods and properties of the interface can be called.
For example, if the code logs into a system, it will receive a DIGWAccount pointer on successful return. You can then request the Account2 interface using the new GUID in the gwoapi2.h file. If it returns an error, request an older Account2 interface (without the new methods) by using the Account2Old GUID defined in the gwoapi2.h file. If this call succeeds, the code can call all the original Account2 methods and properties. (If this second interface is used to call a new method, an error will occur.)
Some examples for handling the new Account2 GUID and a possible E_NOINTERFACE error follow (assuming that pGWApp has been previously retrieved from the OLE system and that the vrName, vrCmdLine, vrPwrd, vrPrompt, and vrReserved variants were previously built). Note that the following example is for the Account2 interface. However, similar code could be written for other objects such as the new Messages collection.
DIGWAccount pdAcct;
IGWAccount2 pAcct;
BOOLbNewGUID = TRUE;
hr=pGWApp->Login(vrName, vrCmdLine, vrPwrd, vrPrompt,
vrReserved, &pdAcct);
if(SUCCEEDED(hr))
{
hr=pdAcct->QueryInterface(IID_IGWAccount2, &pAcct);
if(FAILED(hr))
{
bNewGUID = FALSE;
hr = pdAcct->QueryInterface(IID_IGWAccount2Old,
&pAcct);
if(FAILED(hr))
{
//execute error condition
//could not retrieve either account pointer
}
}
}
Or, if the code needs to use the new methods but wants to include the gwoapi2.h file, you can take the DIGWAccount pointer from login and call for an Account object using the Account2Old GUID at all times. This code can then be run against any GroupWise version. The following sample code is the same as the preceding example but has been modified to use only the old Account2 GUID:
DIGWAccount pdAcct;
|IGWAccount2 pAcct;
hr=pGWApp->Login(vrName, vrCmdLine, vrPwrd, vrPrompt,
vrReserved, &pdAcct);
if(SUCCEEDED(hr))
{
hr=pdAcct->QueryInterface(IID_IGWAccount2Old, &pAcct);
if(FAILED(hr))
{
//execute error condition
//could not retrieve either account pointer
}
}
The GroupWise engine currently contains a limit of 2500 hits per source on any query driven by the Object API. For example, if you are querying ten libraries, the engine will return no more than 2500 hits for each library.
The AddExistingMethod (Messages object) method has the following problems:
To read or print the documentation, you need the free Adobe Acrobat Reader.
After you have installed the documentation, use the "NDK Documents" entry on your Start menu to quickly locate and access the documentation.
The installed documentation is named gwobjenu.pdf, which is located in the install directory/doc/gwobjapi directory.
The document in this download was created as a standalone file. Therefore, some links might not resolve.
For updates or to view the Object API documentation directly from the NDK Documentation Page, click View Doc next to the GroupWise Object API entry.
To view the available sample code files, see the GroupWise Object API Sample Code Page.
Novell, Inc. makes no representations or warranties with respect to the contents or use of this documentation, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc. reserves the right to revise this publication and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes.
Further, Novell, Inc. makes no representations or warranties with respect to any software, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc. reserves the right to make changes to any and all parts of Novell software, at any time, without any obligation to notify any person or entity of such changes.
You may not use, export, or re-export this product in violation of any applicable laws or regulations including, without limitation, U.S. export regulations or the laws of the country in which you reside.
All files provided in this release are subject to the Novell Developer License Agreement, which can be found in the license.txt file provided in this download.
Copyright © 1999-2005 Novell, Inc. All rights reserved. No part of this publication may be reproduced, photocopied, stored on a retrieval system, or transmitted without the express written consent of the publisher.
Novell is a registered trademark of Novell, Inc. in the United States and other countries.
All third-party products are the property of their respective owners.