FACSys® Fax Messaging Gateway
Software Development Kit (SDK)
AFM & Web Services

Download
SDK


Contact

Introduction Object Model Tasks Samples & Programming Languages Packaging Troubleshooting FAQ Appendices

Introduction

With the release and publication of the FACSys Active Fax Messaging (AFM) object model, solution providers can develop custom object-oriented applications and software components that adapt a FACSys implementation to an organization's unique requirements. The FACSys AFM application programming interface is made available with the release of FACSys Fax Messaging Gateway 4.5 and is the model with which all future FACSys products will be developed. With each release of FACSys and all other emFAST products, the object-oriented approach to the AFM model ensures that custom applications will be more full-featured while remain easy to maintain.

The Active Fax Messaging model exposes the objects controlled, managed and maintained by FACSys and gives you the ability to develop a wide variety of powerful client applications with a minimum amount of code. The AFM programmable messaging objects can be utilized by existing programs or entirely new standalone applications that solve a particular business need associated with the features and capabilities of FACSys. The custom applications can access the FACSys server services and all elements of the FACSys information database. For example, your object-oriented client application can query, create and/or manage fax messages, user data, folder structure, and phonebook contents.

The topics documented in this guide do not teach you the basics of programming. The instructions assume you have experience using a high-level programming language or a scripting language to develop programs. You should also have a good understanding of fax messaging technology.

Back to Top

 

What is the AFM Object Model?

The FACSys Active Fax Messaging model is a COM automation server encapsulated in a single library accessible to developers using high-level programming languages such as Visual Basic, C/C++, and Visual C++, .NET 1.0 as well as to developers using scripting languages such as VB Script. This library exposes the programmable fax messaging objects including FACSys phonebook information, fax folders, fax messages, destination information, attachments, and all other fax messaging components.

The AFM model is designed to simplify the creation of full-featured, fax messaging object-oriented applications and software components that integrate reliably into the FACSys software. For example, you can build entire products using HTML to access the data maintained by FACSys (e.g., Web Agent 2.0), or you can write a few lines of code that allow a user to send a fax from another application.

The access mechanism of the AFM model supports a dual-interface. Depending on the application you develop, the AFM client can either call an AFM object directly through the VTBL or access an object through the IDispatch interface.

Back to Top

 

Organization and Definitions

The objects in the FACSys Active Fax Messaging model are organized hierarchically, where every object may contain other objects or "sub-objects." All objects encapsulate the Properties and Methods with which the object can be accessed and manipulated. An object's Properties determine the information you can gather by using the object. An object's Methods determine the actions you can perform with the object.

The two top-level objects in the AFM model hierarchy are as follows:

  • FaxSession - The FaxSession object contains the sub-objects, properties and methods that control a client/FACSys server session. The established session defines the user's rights and objects to which the user has access (e.g., fax servers, cover pages, phonebooks, folders, and fax messages).
  • FaxImage - The FaxImage object contains a description of the fax image, including image type, size, resolution, and font attributes. The FaxImage object identifies the fax message image and defines the actions that can be performed on the image.

 

Some additional terms used throughout this reference are defined briefly below:

  • AFM object - A programming structure that encapsulates the properties/data of the object as well as how the object can be used by the client application. You access an instance of an object definition using the AFM model. For example, via the FaxFolder object, you can delete a fax message from a folder.
  • Client - A FACSys AFM client is an object-oriented application or software component that accesses or manipulates one or more objects in the AFM library. Clients can use existing objects, create new instances of objects, obtain and define the properties of an object, and invoke methods or functionality supported by the object.
  • Collection Objects - Objects that can contain or refer to several instances of an object and/or other collections. For example, to provide access to multiple fax messages that may be in a folder, AFM exposes an object named FaxMessages that refers to all of the current FaxMessage objects. FaxMessages is a collection object. FaxFolders is a collection object that can contain other FaxFolders collection objects.
  • Constants - Variables defined as a value. The constants defined for the AFM are contained in a separate "include" or "header" file (e.g., FXMSG.INC or FXMSG.H). All constant values in the Active Fax Messaging model are listed in Constant Definitions.
  • Context - The "variable" that defines what an object is referring to. For example, when the client application connects to the FACSys server using the FaxSession object, the user context is established. All object manipulations will affect that user. When there is no context, the object is not acting on or referring to a particular variable.
  • Members - The Properties and Methods defined for an object.
  • Methods or Interfaces - Actions that an object can perform. Client applications interact with an AFM object only through the methods or interfaces defined for the object. All AFM objects have pre-defined allowable methods that define the functionality you can perform with the object. For example, the FaxSession object includes the CreateMessage object giving the client application the ability to create a new fax message.
  • Parameter - A variable in a text command.
  • Property - An attribute of an object. Properties represent the data that can be applied to or attained from an object. For example, properties of the FaxFolder object include the FolderID, Messages, Name, and ParentFolderID.

Back to Top

What is it?

Organization
& Definitions

Home  |  emFAST  |  FACSys  |  FACSys Support  |  Download Request  |  Contact