Programming Guide


Chapter 4 . Library Function Overview

This chapter summarizes the Panther library functions and lists them by category. Groups of closely related variant functions are listed under a single root name. The functions sm_r_form, sm_d_form, and sm_l_form, for example, are all grouped under the heading sm_*form.

Functions marked with § are not installed in the distribution and cannot be directly called from JPL. All other functions can be called from JPL.


Initialization/Reset

The following library functions are called in order to initialize or reset certain aspects of the Panther runtime environment. Those that are necessary for the proper operation of Panther are called from within the supplied main routine source modules jmain.c and jxmain.c.

Table 4-1 Initialization/Reset

sm_cancel

Resets the display and exits

sm_do_uinstalls§

Installs an application's event functions

sm_inimsg§

Creates a displayable error message on failure of an init initialization function

sm_initcrt§

Initializes the display and Panther data structures

sm_install§

Installs application event functions

sm_jtop§

Starts Panther

sm_launch

Invokes a process without waiting for it to return

sm_leave§

Prepares to temporarily leave a Panther application

sm_resetcrt§

Resets the terminal to the operating system's default state

sm_return§

Prepares for return to Panther application

sm_shell

Executes a system call

sm_vinit§

Initializes the video translation table

§ Cannot be called directly from JPL.


Screen and Viewport Control

Control viewports, the display of screens, and the form and window stacks:

Table 4-2 Screen/Viewport Control

sm_*at_cur

Displays a window at the cursor location

sm_close_window

Closes the current window

sm_*form

Opens a screen as a form

sm_formlist§

Updates the list of memory-resident files

sm_issv

Checks whether a screen is in the saved list

sm_jclose

Closes the current window or form

sm_jform

Displays a screen as a form

sm_jwindow

Displays a window at a given position

sm_load_screen

Preloads a screen into memory

sm_rmformlist§

Purges the memory-resident form list

sm_setsibling

Specifies to open the next screen as a sibling of the current window

sm_shrink_to_fit

Removes trailing empty array elements and shrinks the screen

sm_svscreen§

Registers a list of screens on the save list

sm_unload_screen

Unloads a screen, freeing the memory associated with it

sm_unsvscreen§

Removes screens from the save list

sm_wcount

Obtains the number of currently open windows

sm_wdeselect

Restores the previously active window

sm_win_shrink

Trims the current screen

sm_*window

Opens a window at a given position

sm_winsize

Lets users interactively move and resize a window

sm_wrotate

Rotates the display of sibling windows

sm_wselect

Activates a window

§ Cannot be called directly from JPL.


Interscreen Messaging

Send and receive data from one screen to another:

Table 4-3 Interscreen Messaging

sm_append_bundle_data

Sends data to a bundle item

sm_append_bundle_done

Optimizes memory allocated for a send bundle

sm_append_bundle_item

Adds a data item to a bundle

sm_create_bundle

Creates a send bundle

sm_free_bundle

Destroys a send bundle

sm_get_bundle_data

Reads an occurrence of bundle item data

sm_get_bundle_item_count

Counts the number of data items in a bundle

sm_get_bundle_occur_count

Counts the number of occurrences in a data item

sm_get_next_bundle_name

Gets the name of the bundle created before the one specified

sm_is_bundle

Checks whether a bundle exists

sm_receive

Executes a JPL receive command

sm_send

Executes a JPL send command


Widget Creation/Deletion

Table 4-4 Widget Creation/Deletion

sm_obj_copy

Copies a widget

sm_obj_delete*

Deletes a widget


Property Access

Set and get properties of Panther objects–for example, screens, widgets, and the application itself:

Table 4-5 Property Access

sm_prop_error

Gets the error code returned by the last properties API function call

sm_prop_get

Gets a property setting

sm_prop_id

Returns an integer handle for an application component

sm_prop_name_to_id

Gets the integer ID of a Panther property

sm_prop_set

Sets a property


Field/Array Data Access

Access data in fields and arrays:

Table 4-6 Field/Array Data Access

sm_*amt_format

Writes formatted data to a field

sm_calc

Executes a math expression

sm_cl_all_mdts

Clears the mdt property for all occurrence on current screen

sm_cl_unprot

Clears data from unprotected widgets

sm_*clear_array

Clears all data in an array

sm_*copyarray

Copies the contents of one array to another

sm_*dblval

Returns the value of a field as a double precision floating point number

sm_*dlength

Gets the length of a field's contents

sm_*doccur

Deletes occurrences from a field

sm_*dtofield§

Writes a real number to a field

sm_*fptr

Gets the contents of a field

sm_*getfield

Copies the contents of a field

sm_*intval

Gets the integer value of a field

sm_*ioccur

Inserts blank occurrences into an array

sm_*is_no

Tests a field for no

sm_*is_yes

Tests a field for yes

sm_*itofield

Writes an integer value to a field

sm_list_objects_count

Counts the widgets contained by an application object

sm_list_objects_end

Destroys an object contents list

sm_list_objects_next

Traverses the widgets contained by an application object

sm_list_objects_start

Constructs a list of widgets contained by an application object

sm_*lngval§

Gets the long integer value of a field

sm_*ltofield§

Writes a long integer value to a field

sm_*null

Tests whether a field is null

sm_obj_sort

Sorts an object's occurrences

sm_obj_sort_auto

Sorts an object's occurrences according to grid settings

sm_optmnu_id

Gets the ID of an option menu or combo box

sm_*putfield

Puts a string into a field

sm_sdtime

Gets the formatted system date and time

sm_*strip_amt_ptr

Strips non-digit characters from a string

sm_udtime§

Formats a user-supplied date and time

sm_upd_select§

Updates the contents of an option menu or combo box

sm_*ww_length

Gets the number of characters in a wordwrapped multiline text widget

sm_*ww_read§

Copies the contents of a wordwrapped text widget into a text buffer

sm_*ww_write

Writes text into a wordwrapped multiline text widget

§ Cannot be called directly from JPL.


Group Access

The following functions access groups. Groups are made up of fields that have attributes and data in them. The value of a group indicates the set of selected constituent fields, although it is not recommended that that value ever be accessed or modified directly with any of the field access functions discussed in the preceding sections.

Table 4-7 Group Access

sm_deselect

Deselects an occurrence in a selection widget group

sm_*ftog§

Converts field references to selection group references

sm_*gtof§

Converts a selection group name and occurrence into a field number and occurrence

sm_n_gval

Forces execution of a group's validation function

sm_next_sync

Finds the next synchronized array

sm_select

Selects an occurrence in a selection group

§ Cannot be called directly from JPL.


Local Data Block Access

The following functions access local data blocks, or LDBs. Note that if a field data access function references a field by name–for example, sm_n and sm_i_variants–and the name field does not exist on the active screen, it looks in an active LDB for an entry of the same name.

Table 4-8 Local Data Block Access

sm_allget

Loads data from the active LDBs to the current screen

sm_dd_able

Turns LDB write-through on or off for all LDBs

sm_*ldb_fld_*get

Copies data from LDBs to specific fields on the current screen

sm_*ldb_fld_*store

Copies data from specific fields to LDBs

sm_*ldb_*getfield§

Gets the contents of an LDB entry

sm_ldb_get_active

Gets the handle of the most recently loaded active LDB

sm_ldb_get_inactive

Gets the handle of the most recently loaded inactive LDB

sm_ldb_get_next_active

Gets the active LDB loaded before the one specified

sm_ldb_get_next_inactive

Gets the inactive LDB loaded before the one specified

sm_ldb_handle

Gets the handle of an LDB

sm_ldb_init§

Initializes or reinitializes LDBs

sm_ldb_is_loaded

Tests whether an LDB is loaded

sm_ldb_load

Loads an LDB into memory

sm_ldb_name

Gets the name of an LDB of the specified handle

sm_ldb_next_handle

Gets the handle of previously loaded LDB with the same name as the specified LDB

sm_ldb_pop

Pops LDBs off the LDB save stack

sm_ldb_push

Pushes all LDBs onto a save stack

sm_*ldb_*putfield

Reads data into an LDB entry

sm_ldb_*state_get

Gets the current state of the LDB

sm_ldb_*state_set

Changes the state of the LDB

sm_ldb_*unload

Unloads LDBs from memory

sm_lstore

Copies everything from screen to LDB

§ Cannot be called directly from JPL.


Validation

The following functions provide an application interface to the field and group validation processes:

Table 4-9 Validation

dm_val_relative

Sets bits for validation after SELECT statements are executed

sm_ckdigit

Validates data with a check digit function

sm_cl_all_mdts

Clears mdt property for all occurrences

sm_fval

Forces field validation

sm_n_gval

Forces execution of a group's validation function

sm_s_val

Validates the current screen

sm_tst_all_mdts§

Finds the first modified occurrence on the current screen

sm_validate

Validates the specified object–screen, widget or widget group

§ Cannot be called directly from JPL.


Cursor Control

Control the positioning and display of the cursor on the active screen:

Table 4-10 Cursor Control

sm_backtab

Backtabs to the previous unprotected field

sm_c_off

Turns the cursor off

sm_c_on

Turns the cursor on

sm_c_vis

Turns the cursor position display on or off

sm_disp_off

Gets the cursor's offset in the current field

sm_gofield

Moves the cursor into a field

sm_home

Homes the cursor

sm_last

Positions the cursor in the last field

sm_nl

Positions the cursor to the first unprotected field beyond the current line

sm_off_gofield

Moves the cursor into a field, offset from the left

sm_sh_off

Gets the cursor location relative to the start of a shifting field

sm_tab

Moves the cursor to the next unprotected field


Display Terminal I/O

Set the interface to Panther terminal I/O:

Table 4-11 Display Terminal I/O

sm_bel

Issues a beep from the terminal

sm_bkrect

Sets the background color of a rectangle

sm_flush

Flushes delayed writes to the display

sm_getkey

Gets the logical value of the key hit

sm_input

Opens the keyboard for data entry and menu selection

sm_key_integer

Gets the integer value of a logical key mnemonic

sm_keyfilter

Controls keystroke record/playback filtering

sm_keyhit

Tests whether a key is typed ahead

sm_keyinit

Initializes a key translation table

sm_keylabel

Gets the printable name of a logical key

sm_keyoption

Sets cursor control key options

sm_m_flush

Flushes the status line

sm_rescreen

Refreshes the data displayed on the screen

sm_resize

Notifies Panther of a change in the display size

sm_ungetkey

Pushes a translated key onto the input queue

sm_xlate_table§

Installs or deinstalls an 8-bit character translation table

§ Cannot be called directly from JPL.


Message Display

Access and display runtime application messages:

Table 4-12 Message Display

sm_d_msg_line

Displays a message on the status line

sm_femsg§§

Displays an error message and awaits user acknowledgement

sm_ferr_reset§§

Displays an error message and awaits user acknowledgement

sm_fqui_msg§§

Displays an error message preceded by a constant tag

sm_fquiet_err§§

Displays an error message preceded by a constant tag

sm_hlp_by_name

Displays a help window

sm_message_box

Displays a message in a dialog box

sm_msg

Displays a message at a given column on the status line

sm_msg_del

Removes a class of messages from memory

sm_msg_get

Finds a message

sm_msg_read§

Reads messages from a message file

sm_msg_set

Replace a message

sm_msgfind

Finds a message given its number

sm_sb_delete

Deletes a status bar section

sm_sb_format

Sets a format string for a status bar section

sm_sb_gettext

Gets contents of a status bar section

sm_sb_insert

Inserts a status bar section

sm_sb_settext

Sets contents of a status bar section

sm_setbkstat

Sets background text for status line

sm_setstatus

Turns alternating background status message on or off

§ Cannot be called directly from JPL.

§§ In JPL, error messages are handled by the msg command.


Mass Storage and Retrieval

Move data to or from sets of fields in the screen or LDB:

Table 4-13 Mass Storage and Retrieval

sm_restore_data§

Restores previously saved data to the screen

sm_rs_data§

Restores saved data to some of the screen

sm_save_data§

Saves screen contents

sm_sv_data§

Saves partial screen contents

sm_sv_free§

Frees a buffer that contains saved screen data

sm_svscreen§

Registers a list of screens on the save list

§ Cannot be called directly from JPL.


Global Data and Changing Panther Behavior

Get access to global data and manipulate their settings:

Table 4-14 Global Data and Changing Application Behavior

sm_inquire

Gets the value of a global integer variable

sm_iset

Changes the value of a global integer variable

sm_ms_inquire

Gets information about the mouse's current state

sm_mus_time§

Gets the system time of the last mouse click

sm_occur_no

Gets the current occurrence number

sm_option

Sets a behavior variable

sm_pinquire

Gets the value of a global string

sm_pset

Modifies the value of a global string

sm_soption

Sets a string option

§ Cannot be called directly from JPL.


Menus

Get and change properties of menus and menu items:

Table 4-15 Menus

sm_menu_bar_error

Returns the last error returned by a menu function

sm_menu_change

Sets a menu's properties

sm_menu_create

Defines a menu at runtime

sm_menu_delete

Removes a menu from the specified script

sm_menu_get_*

Gets a menu's property

sm_menu_install

Makes a menu available for display

sm_menu_remove

Removes a menu from display

sm_mncrinit6§

Initializes support for the menu subsystem

sm_mnitem_change§§

Sets a menu item's property

sm_mnitem_create

Inserts a new item into a menu

sm_mnitem_delete

Removes an item from a menu

sm_*mnitem_get_*

Gets a menu item's property

sm_mnscript_load

Loads a menu script into memory and makes its menus available for installation

sm_mnscript_unload

Removes a script from memory and destroys all menus installed from it

sm_popup_at_cur

Invokes the current widget's popup menu

§ Cannot be called directly from JPL.
§§ Wrapper functions for sm_mnitem_change are prototyped in funclist.c and callable from JPL. For a list of these functions and their parameter declarations, refer to
Table 5-15


Database Interaction

Table 4-16 Database Initialization

dm_dbi_init§

Initializes for database interaction

dm_init§

Initializes access to a specific database engine

dm_reset§

Disables support for a named database engine

§ Cannot be called directly from JPL.

Table 4-17 Database Access

dm_cursor_connection

Gets the connection name for a database cursor

dm_cursor_consistent

Determines if a cursor is on the default connection

dm_cursor_engine

Determines the database engine of a cursor

dm_dbms

Executes a DBMS command directly from C

dm_dbms_noexp

Executes a DBMS command without colon preprocessing

dm_expand§

Formats a string for an engine

dm_get_connection_option

Gets a connection option

dm_get_db_conn_handle§

Gets a handle to a database connection logon structure

dm_get_db_cursor_handle§

Gets a handle to a database cursor's structure

dm_get_driver_option

Gets a database driver option

dm_getdbitext§

Gets the text of the last-executed DBMS command

dm_is_connection

Verifies that a connection is open

dm_is_cursor

Checks to see if a cursor exists

dm_is_engine

Verifies that a database engine is initialized

dm_set_connection_option

Sets a database connection option

dm_set_driver_option

Sets a database driver option

dm_set_max_fetches

Sets the maximum number of rows in a select set

dm_set_max_rows_per_fetch

Sets the maximum number of rows per fetch

dm_set_onevent

Install a C DBi event hook function

§ Cannot be called directly from JPL.

Table 4-18 Database Binary Variables

dm_bin_create_occur§

Gets or allocates an occurrence in a binary variable

dm_bin_delete_occur§

Deletes an occurrence in a binary variable

dm_bin_get_dlength§

Gets the length of an occurrence in a binary variable

dm_bin_get_occur§

Gets the data in an occurrence of a binary variable

dm_bin_length§

Gets the maximum length of an occurrence in a binary variable

dm_bin_max_occur§

Gets the maximum number of occurrences in a binary variable

dm_bin_set_dlength§

Sets the length of an occurrence in a binary variable

§ Cannot be called directly from JPL.

Table 4-19 SQL Generation

dm_exec_sql

Generates and executes SQL statements

dm_free_sql_info

Frees memory associated with an SQL statement

dm_gen_change_execute_using

Adds or replaces a bind value in a DBMS EXECUTE statement for SQL generation

dm_gen_change_select_from

Edits the FROM clause in a SELECT statement for automatic SQL generation

dm_gen_change_select_group_by

Edits the GROUP BY clause in a SELECT statement for automatic SQL generation

dm_gen_change_select_having

Edits the HAVING clause in a SELECT statement for automatic SQL generation

dm_gen_change_select_list

Edits the select list for automatic SQL generation

dm_gen_change_select_order_by

Edits the ORDER BY clause in a SELECT statement for automatic SQL generation

dm_gen_change_select_suffix

Appends text to the end of a SELECT statement for automatic SQL generation

dm_gen_change_select_where

Edits the WHERE clause in a SELECT statement for automatic SQL generation

dm_gen_get_tv_alias

Gets the correlation name, or alias, for a table view

dm_gen_sql_info

Generates a data structure used in SELECT statements


Transaction Manager

Table 4-20 Transaction Manager Access

dm_disable_styles

Suppresses the application of transaction manager styles

dm_enable_styles

Enables the application of transaction manager styles

dm_set_tm_clear_fast

Determines the behavior of the CLEAR command

sm_tm_clear

Clears all fields in the table view

sm_tm_command

Executes a transaction command

sm_tm_event

Returns the event number for the specified transaction manager event name

sm_tm_event_name

Returns the transaction manager event name for the specified event number

sm_tm_handling

Processes a handling method property

sm_tm_inquire

Gets an integer attribute of the current transaction

sm_tm_iset

Sets the value of an integer transaction attribute

sm_tm_old_bi_context

Sets a backward compatibility flag

sm_tm_pcopy§

Gets a string attribute of the current transaction and stores a copy

sm_tm_pinquire

Gets a string attribute of the current transaction for immediate use

sm_tm_pset

Sets the value of a string transaction attribute

§ Cannot be called directly from JPL.

T
Table 4-21 Transaction Manager Event Processing

sm_tm_clear_model_events

Empties the transaction event stack

sm_tm_continuation_validity

Checks whether CONTINUE events are permitted for the current table view

sm_tm_pop_model_event

Pops an event off the transaction event stack

sm_tm_push_model_event

Pushes an event onto the transaction event stack

Table 4-22 Transaction Manager Error and Message Handling

sm_tm_command_emsgset

Initiates error message processing for a transaction manager error code

sm_tm_command_errset

Initiates error processing for a transaction manager error code

sm_tm_dbi_checker

Tests for common database errors during transaction manager processing

sm_tm_error

Reports an error condition

sm_tm_errorlog

Controls error log processing

sm_tm_failure_message

Specifies an error message for a failed event

sm_tm_msg_count_error

Reports a transaction manager error

sm_tm_msg_emsg

Reports an error of emsg severity

sm_tm_msg_error

Reports an error

Table 4-23 Before-image Access in the Transaction Manager

sm_bi_compare

Compares widgets in the current table view with their before-image values

sm_bi_copy

Copies current values of a range of occurrences to the before-images

sm_bi_initialize

Initializes before-image data for widgets in the current table view

sm_get_bi_data

Returns the specified before-image data

sm_get_tv_bi_data

Gets before-image data


GUI Access

The following functions are applicable for GUI Panther applications. Those that contain _mw_ or _xm_ are specific to Windows or Motif only.

Table 4-24 GUI Access

sm_adjust_area

Recalculates widget positions

sm_*attach_drawing_func§

Associates a drawing function with a widget

sm_delay_cursor

Changes the state of the mouse pointer

sm_*drawingarea§

Gets a handle to the current screen that can be passed to the window manager

sm_mw_DismissIntroPixmap

Close the window containing the image selected byIntroPixmap in the application's .ini file

sm_mw_get_client_wnd§

Gets a handle to the client area of the MDI frame

sm_mw_get_cmd_show

Returns the initial state of an application

sm_mw_get_frame_wnd§

Gets a handle to the MDI frame

sm_mw_get_instance§

Gets a handle to the current instance of a Windows program

sm_mw_get_prev_instance§

Gets a handle to the previous instance of a Windows program

sm_mw_install_msg_callback

Install a message handler in Panther's Windows message loop

sm_mw_PrintScreen

Prints a Panther screen

sm_*PiMwCopyToClipboard

Copy data from fields to the Windows clipboard

sm_*PiMwPasteFromClipboard

Paste data from the Windows clipboard to fields

sm_translatecoords§

Translates screen coordinates to display coordinates

sm_*widget§

Gets a handle to a widget

sm_win_shrink

Trims the current screen

sm_xm_get_base_window§

Gets a widget ID to the base window

sm_xm_get_display§

Gets a pointer to the current display

§ Cannot be called directly from JPL.


DDE (Dynamic Data Exchange)

Exchange data between Panther Windows applications and other Windows applications.

Table 4-25 DDE

sm_dde_client_connect_cold

Creates a cold DDE link to a server

sm_dde_client_connect_hot

Creates a hot DDE link to a server

sm_dde_client_connect_warm

Creates a warm DDE link to a server

sm_dde_client_disconnect

Destroys a DDE link to a server

sm_dde_client_off

Disables DDE client activity

sm_dde_client_on

Enables DDE client activity

sm_dde_client_paste_link_cold

Creates a cold DDE paste link between a widget and a DDE server

sm_dde_client_paste_link_hot

Creates a hot DDE paste link between a widget and a DDE server

sm_dde_client_paste_link_warm

Creates a warm DDE paste link between a widget and a DDE server

sm_dde_client_request

Requests data from a DDE server

sm_dde_execute

Sends a command to a DDE server

sm_dde_install_notify§

Installs a callback function that executes on changes in warm link data

sm_dde_poke

Pokes data into a DDE server

sm_dde_server_off

Disables DDE server activity

sm_dde_server_on

Enables DDE server activity

§ Cannot be called directly from JPL.


File Access

Table 4-26 File Access

sm_fi_path

Returns the full path name of a file

sm_file_copy

Copies a file

sm_file_exists

Checks whether a file exists

sm_file_move

Copies a file and deletes its source

sm_file_remove

Deletes a file

sm_filebox§

Opens a file selection dialog box

sm_filetypes

Adds an option to the file type option menu

sm_fio_a2f

Writes the contents of an array to a file

sm_fio_close

Closes an open file stream

sm_fio_editor

Invokes an external text editor for an array

sm_fio_error

Gets the error returned by the last call to a file I/O function

sm_fio_error_set

Sets the file I/O error

sm_fio_f2a

Writes a file's contents to an array

sm_fio_getc

Reads the next byte from the specified file stream

sm_fio_gets

Reads a line from a file

sm_fio_handle§

Gets a handle to an open file

sm_fio_open

Opens the specified file and returns a handle to the JPL caller

sm_fio_putc

Writes a single byte to an open file

sm_fio_puts

Writes a line of text to an open file

sm_fio_rewind

Resets the file stream to the beginning of a file

sm_jfilebox

Opens a file selection dialog box

sm_tmpnam

Creates a unique file name

§ Cannot be called directly from JPL.


Library Access

Table 4-27 Library Access

sm_l_close

Closes a library and frees all memory associated with it

sm_l_open

Opens a library

sm_l_open_syslib

Opens a library as a system library

sm_slib_error

Gets the system return for the last call to sm_slib_load

sm_slib_install

Installs a function from a DLL into a Panther application

sm_slib_load

Loads a dynamic link library (DLL) and makes its functions available for installation


JPL

Table 4-28 JPL

sm_jplcall

Executes a JPL procedure

sm_jplpublic

Executes JPL's public command

sm_jplunload

Executes JPL's unload command


JetNet/Oracle Tuxedo Processing

Table 4-29 JetNet/Oracle Tuxedo Processing

sm_tp_exec§

Executes a middleware API JPL command

sm_tp_free_arg_buf§

Frees memory allocated by argument list generation functions

sm_tp_gen_insert§

Generates an argument list of fields for an INSERT operation

sm_tp_gen_sel_return§

Generates a list of fields for the returned select set of a SELECT or VIEW operation

sm_tp_gen_sel_where§

Generates a list of fields for the WHERE clause of a SELECT or VIEW operation

sm_tp_gen_val_link§

Generates a list of fields to be validated in a validation link operation

sm_tp_gen_val_return§

Generates a list of fields for the returned select set of a validation link operation

sm_tp_get_svc_alias§

Returns the alias assigned to a server

sm_tp_get_tux_callid§

Returns the Oracle Tuxedo identifier for a service call

§ Cannot be called directly from JPL.


Open Middleware Connectivity

The following functions can be used with all service components, regardless of the technology used to deploy the components–COM or EJB.

Table 4-30 Open Middleware Connectivity

sm_log

Writes a message to a log file

sm_obj_call

Calls a service component's method

sm_obj_create

Instantiates a service component

sm_obj_get_property

Gets a service component's property setting

sm_obj_onerror

Installs an error handler

sm_obj_set_property

Sets a property for a service component

sm_raise_exception

Sends an error code back to the client

sm_receive_args

Receives a list of in and in/out parameters for a method

sm_return_args

Returns a list of in/out and out parameters for a method


COM/MTS Processing

Table 4-31 COM/MTS Processing

sm_obj_create_licensed

Instantiates a licensed COM component

sm_obj_create_server

Instantiates a COM component

sm_com_load_picture

Returns the object ID for a graphics file in COM format

sm_com_QueryInterface§

Accesses an interface of a COM component

sm_com_result

Gets the error code returned by the last call to a COM component

sm_com_result_msg

Gets the error message returned by the last call to a COM component

sm_com_set_handler

Sets an event handler for the specified event on a COM component

§ Cannot be called directly from JPL.

Table 4-32 MTS Database Transactions

sm_mts_CreateInstance

Creates a new object for use in the existing transaction

sm_mts_DisableCommit

Prohibits the transaction from being committed

sm_mts_EnableCommit

Allows the transaction to be committed

sm_mts_IsInTransaction

Determines if the object is participating in a transaction

sm_mts_SetAbort

Tells MTS to abort the transaction

sm_mts_SetComplete

Tells MTS the work is complete (and ready to be committed)

Table 4-33 MTS Property Access

sm_mts_CreateProperty

Creates a named property

sm_mts_CreatePropertyGroup

Creates a named property group

sm_mts_GetPropertyValue

Gets the value of a property

sm_mts_PutPropertyValue

Sets a property's value

Table 4-34 MTS Security Checking

sm_mts_IsCallerInRole

Determines if the caller of the component is in a role

sm_mts_IsSecurityEnabled

Determines if security is currently enabled


Reports

Table 4-35 Reports

sm_rw_error_message

Returns the last error message generated by report processing

sm_rw_play_metafile

Displays or prints a report that is in metafile format

sm_rw_runreport

Invokes the report generator from a user-written function


Web Applications

Table 4-36 Web Applications

sm_web_get_cookie

Returns the value of a specified cookie

sm_web_invoke_url

Invokes a URL on the Web

sm_web_log_error

Writes Web application errors to a log file

sm_web_save_global

Creates a context global variable

sm_web_set_cookie

Sets HTML cookies on a client

sm_web_set_onevent

Install a C function as the Web event hook

sm_web_unsave_all_globals

Redesignates all context global variables as transient globals

sm_web_unsave_global

Redesignates a context global variable as a transient global


Mail

Table 4-37 Mail

sm_*mail_attach

Attaches a file to the email message

sm_*mail_file_text

Specifies the file containing the text of the email message

sm_mail_message

Send a simple email message

sm_mail_new

Creates a new mail object

sm_*mail_send

Sends a mail object

sm_*mail_text

Specifies the widget containing the text of the email message

sm_mail_widget

Specifies a widget to be included as an image attachment to an email message


XML

Table 4-38 XML

sm_*xml_export§

Generate XML from Panther screens and widgets

sm_*xml_export_file

Export Panther-generated XML to a file

sm_*xml_import

Import XML to a Panther screen

sm_*xml_import_file

Import XML to a Panther screen from a file

§ Cannot be called directly from JPL.


Miscellaneous

Table 4-39 Miscellaneous

sm_dicname§

Sets the repository name

sm_ffree§

Free allocated memory

sm_fmalloc§

Allocate memory

sm_getenv

Get system environment variable value

sm_isabort

Tests and sets the abort control flag

sm_set_help

Puts an application into help mode

sm_strdup§

Copy a string to newly allocated memory

sm_trace

Tracing and dumping of Panther events

§ Cannot be called directly from JPL.