/*______________________________ opJTAPI.h _______________________________*/ /* */ /* 1 2 3 4 5 6 7 */ /*3456789012345678901234567890123456789012345678901234567890123456789012345678*/ /**************************************|***************************************/ /* */ /* Copyright (c) 2007 Glen Petrie All rights reserved. */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ /* "Software"), to deal in the Software without restriction, including */ /* without limitation the rights to use, copy, modify, merge, publish, */ /* distribute, and/or sell copies of the Software, and to permit persons */ /* to whom the Software is furnished to do so, subject to the following */ /* conditions: */ /* */ /* The rights to use, copy, modify, merge, publish, distribute, and/or */ /* sell copies of this Software or any material modification thereof */ /* shall not be further restricted by any means, including, but not */ /* limited to, the GNU General Public License. */ /* */ /* The above copyright notice and this permission notice shall be */ /* included in all copies or substantial portions of the Software. */ /* */ /* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ /* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ /* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ /* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* */ /* */ /**************************************|***************************************/ /* This code is based on Free Software Group / Open Printing / Job Ticket */ /* header file called 'FSG_enums.h" file. */ /* */ /* Original Copyright/License: */ /* */ /* Copyright (c) 2004 High North Inc. */ /* Copyright (c) 2004 IBM Corp. */ /* Copyright (c) 2004 Seiko-Epson, Inc. */ /* Copyright (c) 2004 Till Kamppeter. */ /* Copyright (c) 2004 Free Standards Group. */ /* */ /* Common Public License - v 1.0 */ /* */ /* THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC */ /* LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE */ /* PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. */ /* */ /* The Common Public License in its entirety is located in fsg-cpl.lic */ /* and applies to the contents of this file. */ /**************************************|***************************************/ /* */ /* Open-Printing Embedded Print */ /* */ /* Print I/O Include (Header) File */ /* */ /**************************************|***************************************/ /* */ /* Contributors: */ /* Glen W. Petrie / The World of Graphics */ /**************************************|***************************************/ /* */ /* Revision Log */ /* Date Who */ /* 2007.07.30 Glen W. Petrie */ /* # Original code */ /* */ /**************************************|***************************************/ /* */ /* Special Software and/or Usage Information */ /* */ /* # All exposed API's in this file utilize the OPEP global link-list error */ /* structure with the global variable name of op_error. */ /* */ /**************************************|***************************************/ #ifndef __OP_JTAPI_H__ #define __OP_JTAPI_H__ #ifdef __cplusplus extern "C" { #endif /*-------------------------------- Includes -------------------------------*/ /**************************************|***************************************/ #include "opGeneric.h" /*------------------------------- Definitions -----------------------------*/ /**************************************|***************************************/ /*** OP Job Ticket Version Information */ /* ---------------------------------------------------------------------- */ #define OPJT_API_VERSION "2.0.0" #define OPJT_API_VERSION_DATE "2007.08.20" /*** Base Number Value for the Objects */ /* ---------------------------------------------------------------------- */ /* Object Hierarchy */ /* -------------------------------------------------------------------------- */ /* */ /* OP_JOB_OBJECT */ /* OP_CONTACT_INFO_OBJECT */ /* OP_DESTINATION_OBJECT */ /* OP_DOCUMENT_OBJECT */ /* OP_FOLDING_OBJECT */ /* OP_FORCE_PAGE_OBJECT */ /* OP_HOLE_MAKING_OBJECT */ /* OP_INCLUDE_PAGES_OBJECT --> OP_PAGE_RANGE_OBJECT */ /* OP_INSERT_SHEET_OBJECT */ /* OP_MEDIA_OBJECT */ /* OP_OUTPUT_PAGES_OBJECT --> OP_PAGE_RANGE_OBJECT */ /* OP_SEPARATOR_SHEET_OBJECT */ /* OP_STITCHING_OBJECT */ /* OP_SUBSCRIPTION_OBJECT */ /* */ /* OP_JOB_TICKET_INFO_OBJECT */ /* OP_JOB_OBJECT */ /* */ /* OP_DOCUMENT_OBJECT */ /* OP_DOC_PAGE_RANGE_OBJECT --> OP_PAGE_RANGE_OBJECT */ /* OP_DOC_FORCE_PAGE_OBJECT --> OP_PAGE_RANGE_OBJECT */ /* OP_DOC_INSERT_SHEET_OBJECT --> OP_PAGE_RANGE_OBJECT */ /* */ /* OP_PAGE_RANGE_OBJECT */ /* <----> */ /* */ /* OP_DESTINATION_OBJECT */ /* <----> */ /* */ /* OP_CONTACT_INFO_OBJECT */ /* <----> */ /* */ /* OP_SUBSCRIPTION_OBJECT */ /* <----> */ /* */ /* OP_SEPARATOR_SHEET_OBJECT */ /* <----> */ /* */ /* OP_MEDIA_OBJECT */ /* <----> */ /* */ /* OP_FORCE_PAGE_OBJECT */ /* <----> */ /* */ /* OP_INSERT_SHEET_OBJECT */ /* OP_INSERT_SHEET_MEDIA_OBJECT --> OP_MEDIA_OBJECT */ /* OP_INSERT_SHEET_RANGE_OBJECT --> OP_PAGE_RANGE_OBJECT */ /* */ /* OP_HOLE_MAKING_OBJECT */ /* <----> */ /* */ /* OP_FOLDING_OBJECT */ /* <----> */ /* */ /* OP_STITCHING_OBJECT */ /* <----> */ /* */ /* -------------------------------------------------------------------------- */ #define OP_JOB_TICKET_INFO_OBJECT 500 #define OP_JOB_OBJECT 1000 #define OP_INCLUDE_PAGES_OBJECT 1500 #define OP_OUTPUT_PAGES_OBJECT 2000 #define OP_JOB_MEDIA_OBJECT 2500 #define OP_DESTINATION_OBJECT 3000 #define OP_CONTACT_INFO_OBJECT 3500 #define OP_SUBSCRIPTION_OBJECT 4000 #define OP_FORCE_PAGE_OBJECT 4500 #define OP_HOLE_MAKING_OBJECT 5000 #define OP_FOLDING_OBJECT 5500 #define OP_STITCHING_OBJECT 6000 #define OP_SEPARATOR_SHEET_OBJECT 6500 #define OP_SEP_SHEET_MEDIA_OBJECT 7000 #define OP_INSERT_SHEET_OBJECT 7500 #define OP_INSERT_SHEET_MEDIA_OBJECT 8000 #define OP_INSERT_SHEET_PAGE_RANGE_OBJECT 8500 #define OP_DOCUMENT_OBJECT 9000 #define OP_DOC_PAGE_RANGE_OBJECT 9500 #define OP_DOC_FORCE_PAGE_OBJECT 10000 #define OP_DOC_INSERT_SHEET_OBJECT 10500 /*** For internal use only */ #define OP_PAGE_RANGE_OBJECT 91000 #define OP_MEDIA_OBJECT 91500 /*** OP Job Ticket Error Codes */ /* ---------------------------------------------------------------------- */ typedef enum { OPJT_OK = SUCCESSFUL, OPJT_INTERNAL_ERROR = -1000, /* Unexpected error occurred. */ OPJT_INVALID_REQUEST, /* Request is not valid. */ OPJT_NOT_SUPPORTED, /* Operation is not supported */ OPJT_IO_ERROR, /* I/O read/write error of job ticket. */ OPJT_EMPTY_JT, /* Job ticket contains no data. */ OPJT_ERROR_AT_LINE, /* Parse error at a specific line */ OPJT_PARSE_FAILED, /* Parsing failed for an unknown reason*/ OPJT_PARSE_INIT_ERROR, /* Error occurred during parser init. */ OPJT_INVALID_PARAM, /* A parameter was not as expected. */ OPJT_MISSING_INFO, /* Insufficient info for parsing */ OPJT_MISSING_PARAM, /* Required parameter not provided */ OPJT_ATTRIBUTE_NOT_SET, /* The attribute has not been set. */ OPJT_UNSUPPORTED_JT_VERSION, /* Job ticket version not supported. */ OPJT_UNSUPPORTED_XML_VERSION, /* Unsupported XML version. */ OPJT_UNSUPPORTED_XML_ENCODING, /* Unsupported XML encoding. */ OPJT_WRITE_FAILED, /* Error while writing job ticket file.*/ OPJT_CREATE_NEW_JOB_TICKET_ERROR, /* Could not create new job ticket */ OPJT_INVALID_JOB_TICKET, /* An invalid job ticket was received */ OPJT_OBJECT_ALREADY_DEFINED, /* Attempt create already defined obj */ OPJT_CANNOT_ADD_MORE_VALUES /* No more list space left */ } OPJT_ERROR_CODES; /* Subscription Object */ /* ---------------------------------------------------------------------- */ typedef enum { /* Subscription attributes */ OP_ATT_SUBSCRIPTION_CHARSET = OP_SUBSCRIPTION_OBJECT, /* char* */ OP_ATT_SUBSCRIPTION_COMMENT , /* char* */ OP_ATT_SUBSCRIPTION_EVENTS , /* OP_SUBSCRIPTION_EVENT (Enum)*/ OP_ATT_SUBSCRIPTION_JOB_ATTRIBUTES , /* char* */ OP_ATT_SUBSCRIPTION_NATURAL_LANGUAGE, /* char* */ OP_ATT_SUBSCRIPTION_SEND_TO_URI , /* char* */ } OP_SUBSCRIPTION_ATT; /* Stitching Object */ /* ---------------------------------------------------------------------- */ typedef enum { /* Stitching attributes */ OP_ATT_STITCHING_ANGLE = OP_STITCHING_OBJECT, /* OP_INT32 */ OP_ATT_STITCHING_COUNT , /* OP_INT32 */ OP_ATT_STITCHING_REFERENCE_EDGE, /* OP_REFERENCE_EDGE (Enum)*/ OP_ATT_STITCHING_TYPE /* OP_STITCHING_TYPE (Enum)*/ } OP_STITCHING_ATT; /* Separator Sheet Object */ /* ---------------------------------------------------------------------- */ typedef enum { /* Separator Sheet attributes */ OP_ATT_SEPARATOR_SHEET_MEDIA = OP_SEPARATOR_SHEET_OBJECT, /* object */ OP_ATT_SEPARATOR_SHEET_MESSAGE, /* char* */ OP_ATT_SEPARATOR_SHEET_TYPE, /* OP_SEPARATOR_SHEET (Enum)*/ } OP_SEPARATOR_SHEET_ATT; /* Include Pages Object */ /* Output Pages Object */ /* Doc Page Range Object */ /* Doc Force Page Object */ /* Doc Insert Sheet Object */ /* (Page Range Object) */ /* ---------------------------------------------------------------------- */ typedef enum { /* Page Range attributes */ OP_ATT_PAGE_RANGE_LOWER = OP_PAGE_RANGE_OBJECT, /* OP_INT32 */ OP_ATT_PAGE_RANGE_UPPER /* OP_INT32 */ } OP_PAGE_RANGE_ATT, OP_INCLUDE_PAGES_ATT, OP_OUTPUT_PAGES_ATT, OP_DOC_PAGE_RANGE_ATT, OP_DOC_FORCE_PAGE_ATT, OP_DOC_INSERT_SHEET_ATT, OP_INSERT_SHEET_PAGE_RANGE_ATT; /* Media Object */ /* ---------------------------------------------------------------------- */ typedef enum { /* Media attributes */ OP_ATT_MEDIA_BACK_COATING = OP_MEDIA_OBJECT, /* OP_MEDIA_COATING (Enum)*/ OP_ATT_MEDIA_COLOR, /* OP_MEDIA_COLOR (Enum)*/ OP_ATT_MEDIA_COLOR_NAME, /* char* */ OP_ATT_MEDIA_DESCRIPTION, /* char* */ OP_ATT_MEDIA_FRONT_COATING, /* OP_MEDIA_COATING (Enum)*/ OP_ATT_MEDIA_HOLE_COUNT, /* OP_INT32 */ OP_ATT_MEDIA_INPUT_TRAY_NAME, /* OP_INPUT_TRAY (Enum)*/ OP_ATT_MEDIA_MANUAL_FEED, /* OP_PRESENT (Enum)*/ OP_ATT_MEDIA_NAME, /* char* */ OP_ATT_MEDIA_PREPRINTED, /* OP_MEDIA_PREPRINTED (Enum)*/ OP_ATT_MEDIA_RECYCLED_PERCENTAGE, /* OP_INT32 */ OP_ATT_MEDIA_SET_COUNT, /* OP_INT32 */ OP_ATT_MEDIA_SIZE_NAME, /* char* */ OP_ATT_MEDIA_TYPE, /* OP_MEDIA_TYPE (Enum)*/ OP_ATT_MEDIA_WEIGHT /* OP_INT32 */ } OP_MEDIA_ATT, OP_JOB_MEDIA_ATT, OP_INSERT_SHEET_MEDIA_ATT; /* Job Ticket Info Object */ /* ---------------------------------------------------------------------- */ typedef enum { /* Job Ticket Info attributes */ OP_ATT_JT_AUTHOR_NAME = OP_JOB_TICKET_INFO_OBJECT,/* char* */ OP_ATT_JT_VERSION, /* char* */ OP_ATT_JT_CHARSET, /* char* */ OP_ATT_JT_COMMENT, /* char* */ OP_ATT_JT_TYPE_AND_VERSION, /* OP_JOB_TICKET_TYPE_VERSION (Enum)*/ OP_ATT_JT_API_CHARSET, /* char* */ OP_ATT_JT_API_VERSION, /* char* */ OP_ATT_JT_FIDELITY, /* OP_PRESENT (Enum)*/ OP_ATT_JT_LENGTH_UNIT, /* OP_LENGTH_UNIT (Enum)*/ OP_ATT_JT_COMPANY, /* char* */ OP_ATT_JT_CONTACT_URI, /* char* */ OP_ATT_JT_DETAILS, /* char* */ OP_ATT_JT_NAME, /* char* */ OP_ATT_JT_ROLES, /* char*[] */ OP_ATT_JT_JOB, /* object */ } OP_JOB_TICKET_INFO_ATT; /* Job Object */ /* ---------------------------------------------------------------------- */ typedef enum { /* Job attributes */ OP_ATT_JOB_BILLING_CODE = OP_JOB_OBJECT, /* char* */ OP_ATT_JOB_BINDING, /* OP_BINDING_TYPE (Enum)*/ OP_ATT_JOB_CLIENT_ID, /* char* */ OP_ATT_JOB_COLLATE, /* OP_COLLATE (Enum)*/ OP_ATT_JOB_COMMENT, /* char* */ OP_ATT_JOB_COMPRESSION, /* OP_COMPRESSION (Enum)*/ OP_ATT_JOB_CONTACT_INFO, /* object */ OP_ATT_JOB_COPIES, /* OP_INT32 */ OP_ATT_JOB_CREATE_USER_NAME, /* char* */ OP_ATT_JOB_DESTINATIONS, /* object */ OP_ATT_JOB_DOCUMENT_FORMAT, /* char* (mine-type) */ OP_ATT_JOB_DOCUMENT_NATURAL_LANGUAGE, /* char* */ OP_ATT_JOB_DOCUMENTS, /* object */ OP_ATT_JOB_FEED_ORIENTATION, /* OP_FEED_ORIENTATION (Enum)*/ OP_ATT_JOB_FIT_POLICY, /* OP_FIT_POLICY (Enum)*/ OP_ATT_JOB_FOLDING, /* object */ OP_ATT_JOB_FORCE_PAGES, /* object */ OP_ATT_JOB_HOLD, /* OP_HOLD (Enum)*/ OP_ATT_JOB_HOLE_MAKING, /* object */ OP_ATT_JOB_IMAGE_ALIGNMENT_X, /* OP_IMAGE_ALIGNMENT_X (Enum)*/ OP_ATT_JOB_IMAGE_ALIGNMENT_Y, /* OP_IMAGE_ALIGNMENT_Y (Enum)*/ OP_ATT_JOB_IMAGE_SHIFT_BACK_X, /* OP_INT32 */ OP_ATT_JOB_IMAGE_SHIFT_BACK_Y, /* OP_INT32 */ OP_ATT_JOB_IMAGE_SHIFT_FRONT_X, /* OP_INT32 */ OP_ATT_JOB_IMAGE_SHIFT_FRONT_Y, /* OP_INT32 */ OP_ATT_JOB_INCLUDE_PAGES, /* object */ OP_ATT_JOB_INSERT_SHEETS, /* object */ OP_ATT_JOB_JOG_OFFSET, /* OP_JOG_OFFSET (Enum)*/ OP_ATT_JOB_MARGIN_BOTTOM, /* OP_INT32 */ OP_ATT_JOB_MARGIN_LEFT, /* OP_INT32 */ OP_ATT_JOB_MARGIN_RIGHT, /* OP_INT32 */ OP_ATT_JOB_MARGIN_TOP, /* OP_INT32 */ OP_ATT_JOB_MEDIA, /* object */ OP_ATT_JOB_MESSAGE_TO_OPERATOR, /* char* */ OP_ATT_JOB_NAME, /* char* */ OP_ATT_JOB_NUMBER_UP_X, /* OP_INT32 */ OP_ATT_JOB_NUMBER_UP_Y, /* OP_INT32 */ OP_ATT_JOB_OUTPUT_BIN_NAME, /* OP_OUTPUT_BIN_NAME (Enum)*/ OP_ATT_JOB_OUTPUT_PAGES, /* object */ OP_ATT_JOB_PAGE_DELIVERY, /* OP_PAGE_DELIVERY (Enum)*/ OP_ATT_JOB_PRESENTATION_DIRECTION, /* OP_PRESENTATION_DIRECTION (Enum)*/ OP_ATT_JOB_PRINT_QUALITY, /* OP_PRINT_QUALITY (Enum)*/ OP_ATT_JOB_PRIORITY, /* OP_INT32 */ OP_ATT_JOB_RESOLUTION_X, /* OP_INT32 */ OP_ATT_JOB_RESOLUTION_Y, /* OP_INT32 */ OP_ATT_JOB_ROTATION, /* OP_ROTATION (Enum)*/ OP_ATT_JOB_SCALING_FACTOR_X, /* OP_INT32 */ OP_ATT_JOB_SCALING_FACTOR_Y, /* OP_INT32 */ OP_ATT_JOB_SEPARATOR_SHEETS, /* object */ OP_ATT_JOB_SIDES, /* OP_SIDES (Enum)*/ OP_ATT_JOB_STITCHING, /* object */ OP_ATT_JOB_SUBSCRIPTIONS /* object */ } OP_JOB_ATT; /* Insert Sheet Object */ /* ---------------------------------------------------------------------- */ typedef enum { /* Insert Sheet attributes */ OP_ATT_INSERT_SHEET_CONTENT = OP_INSERT_SHEET_OBJECT,/* OP_IN...TENT(Enum)*/ OP_ATT_INSERT_SHEET_COUNT, /* OP_INT32 */ OP_ATT_INSERT_SHEET_MEDIA, /* object */ OP_ATT_INSERT_SHEET_PAGES, /* object */ OP_ATT_INSERT_SHEET_POSITION /* OP_POSITION (Enum)*/ } OP_INSERT_SHEET_ATT; /* Hole Making Object */ /* ---------------------------------------------------------------------- */ typedef enum { /* Hole Making attributes */ OP_ATT_HOLE_MAKING_COUNT = OP_HOLE_MAKING_OBJECT, /* OP_INT32 */ OP_ATT_HOLE_MAKING_REFERENCE_EDGE /* OP_REFERENCE_EDGE (Enum)*/ } OP_HOLE_MAKING_ATT; /* Force Page Object */ /* ---------------------------------------------------------------------- */ typedef enum { /* Force Page attributes */ OP_ATT_FORCE_PAGE_CELL_POSITION_X = OP_FORCE_PAGE_OBJECT,/* OP_INT32 */ OP_ATT_FORCE_PAGE_CELL_POSITION_Y, /* OP_INT32 */ OP_ATT_FORCE_PAGE_PAGE, /* OP_INT32 */ OP_ATT_FORCE_PAGE_SHEET_SIDE /* OP_SHEET_SIDE (Enum)*/ } OP_FORCE_PAGE_ATT; /* Folding Object */ /* ---------------------------------------------------------------------- */ typedef enum { /* Folding attributes */ OP_ATT_FOLDING_REFERENCE_EDGE = OP_FOLDING_OBJECT, /* OP_REF...EDGE (Enum)*/ OP_ATT_FOLDING_TYPE /* OP_FOLDING_TYPE (Enum)*/ } OP_FOLDING_ATT; /* Document Object */ /* ---------------------------------------------------------------------- */ typedef enum { /* Document attributes */ OP_ATT_DOCUMENT_DATA_URI = OP_DOCUMENT_OBJECT, /* char* */ OP_ATT_DOCUMENT_PAGE_RANGE, /* object */ OP_ATT_DOCUMENT_FORCE_PAGE, /* object */ OP_ATT_DOCUMENT_INSERT_SHEET /* object */ } OP_DOCUMENT_ATT; /* Destination Object */ /* ---------------------------------------------------------------------- */ typedef enum { /* Destination attributes */ OP_ATT_DESTINATION_TARGET_URI = OP_DESTINATION_OBJECT,/* char* */ } OP_DESTINATION_ATT; /* Contact Info Object */ /* ---------------------------------------------------------------------- */ typedef enum { /* Contact Info attributes */ OP_ATT_CONTACT_INFO_ADDRESS = OP_CONTACT_INFO_OBJECT,/* char* */ OP_ATT_CONTACT_INFO_COMPANY, /* char* */ OP_ATT_CONTACT_INFO_CONTACT_URI, /* char* */ OP_ATT_CONTACT_INFO_DETAILS, /* char* */ OP_ATT_CONTACT_INFO_NAME, /* char* */ OP_ATT_CONTACT_INFO_ROLES /* OP_CONTACT_INFO_ROLE (Enum)*/ } OP_CONTACT_INFO_ATT; /*--------------------------- Macro Definitions ----------------------------*/ /**************************************|***************************************/ /*--------------------------- Struct Definitions ---------------------------*/ /**************************************|***************************************/ /*---------------------- Application Global Variables ---------------------*/ /**************************************|***************************************/ /*------------------------- Local Global Variables ------------------------*/ /**************************************|***************************************/ /*---------------------------- Local Functions ----------------------------*/ /**************************************|***************************************/ /*** opjtInitLib */ /* ---------------------------------------------------------------------- */ /* Initializes the JTAPI library and return context structure used */ /* by the specific JTAPI library instance. */ /* #### opjtOpenJTAPI MUST be called before calling any other JTAPI */ /* call. */ /* ---------------------------------------------------------------------- */ void opjtInitLib(void); /*** opjtSuspendLib */ /* ---------------------------------------------------------------------- */ /* Releases all objects and dynamic memory and closes any I/O */ /* channels that are associated with this JTAPI library instance. */ /* ---------------------------------------------------------------------- */ void opjtSuspendLib(void); /*** opjtReleaseLib */ /* ---------------------------------------------------------------------- */ /* Releases this JTAPI library instance. */ /* (Internally calls opjtFlushLib) */ /* ---------------------------------------------------------------------- */ void opjtReleaseLib(void); /*** opjtNewPrintJobTicket */ /* ---------------------------------------------------------------------- */ /* Instantiate a Printing Job Ticket */ /* >> jobTktId - Pointer for instantiated job ticket record */ /* ---------------------------------------------------------------------- */ void opjtNewPrintJobTicket(void** jobTktId); /*** opjtNewObject */ /* ---------------------------------------------------------------------- */ /* Creates a JTAPI object. */ /* >> objectId - JTAPI Identifier for object to create. */ /* << object - Pointer to the new object */ /* ---------------------------------------------------------------------- */ void opjtNewObject(void* jobTktId, OP_INT32 objectId); /*** opjtFreeObject */ /* ---------------------------------------------------------------------- */ /* Free a JTAPI object. */ /* >> object - Free the memory used by the provided object. */ /* ---------------------------------------------------------------------- */ void opjtFreeObject(void* jobTktId, OP_INT32 objectId, void* object); /*** opjtNewAttribute */ /* ---------------------------------------------------------------------- */ /* Creates a new Attribute object having the provided attribute name, */ /* value type, and value. */ /* >> object - Object to be associated with the new attribute */ /* >> type - Type for the new Attribute to create */ /* See: OP_OBJECT_TYPE, OP_ENUM_TYPE,OP_BASIC_TYPE */ /* << attribute - Pointer to the new Attribute specification. */ /* ---------------------------------------------------------------------- */ void opjtNewAttribute(void* jobTktId, OP_INT32 attributeId, void** attribute, void* object, OP_INT32 type); /*** opjtFreeAttribute */ /* ---------------------------------------------------------------------- */ /* Free the memory used by the Attribute. */ /* >> attribute - Pointer to the Attribute to free */ /* ---------------------------------------------------------------------- */ void opjtFreeAttribute(void* jobTktId, OP_INT32 attributeId, void* attribute); /*** opjtSetValue API-150090 */ /* ---------------------------------------------------------------------- */ /* Set value for this Attribute with this value. */ /* >> attribute - Attribute to replace the existing values */ /* >> value - Pointer to replacement value */ /* ---------------------------------------------------------------------- */ void opjtSetValue(OP_JOB_TKT_ID jobTktId, OP_INT32 attributeId, void* attribute, void* value); /*** opjtReplaceValue API-150100 */ /* ---------------------------------------------------------------------- */ /* Replaces current value for this Attribute with this value. */ /* Current value is determine by value increment pointer. */ /* >> attribute - Attribute to replace the existing values */ /* >> value - Pointer to replacement value */ /* ---------------------------------------------------------------------- */ void opjtReplaceValue(OP_JOB_TKT_ID jobTktId, OP_INT32 attributeId, void* attribute, void* value); /*** opjtAddValue */ /* ---------------------------------------------------------------------- */ /* Add an additional value to this Attribute. */ /* >> attribute - Attribute to add the provided value to. */ /* >> value - Pointer to value to add. */ /* ---------------------------------------------------------------------- */ void opjtAddValue(void* jobTktId, OP_INT32 attributeId, void* attribute, void* value); /*** opjtGetNextValue */ /* ---------------------------------------------------------------------- */ /* Return the Attribute's next value. */ /* >> attribute - Attribute whose next value is to be returned */ /* << nextValue - Pointer of the value returned */ /* << moreValues - TRUE if there are more values for the */ /* Attribute other than the value being returned */ /* ---------------------------------------------------------------------- */ void opjtGetNextValue(void* jobTktId, OP_INT32 attributeId, void* attribute, void* value, OP_INT32* moreValues); /*** opjtSetIterator */ /* ---------------------------------------------------------------------- */ /* Set the iterator (increment pointer) to specific value */ /* of the Attribute. */ /* >> attribute - Attribute to set iterator for */ /* >> iterator - Value of iterator to set */ /* (1 is start of list; -1 is endo of list) */ /* ---------------------------------------------------------------------- */ void opjtSetIterator(void* jobTktId, OP_INT32 attributeId, void* attribute, OP_INT32 iterator); /*** opjtGetNumValues */ /* ---------------------------------------------------------------------- */ /* Get the number of values that the Attribute contains. */ /* >> attribute - Attribute whose number of values to get */ /* << numValues - Number of values */ /* ---------------------------------------------------------------------- */ void opjtGetNumValues(void* jobTktId, OP_INT32 attributeId, void* attribute, OP_INT32* numValues); /*** opjtGetValueType */ /* ---------------------------------------------------------------------- */ /* Returns the type of the Attribute's values. */ /* >> attribute - Attribute whose value type to get */ /* << type - Type of this Attribute's values */ /* See: OP_OBJECT_TYPE, OP_ENUM_TYPE,OP_BASIC_TYPE */ /* ---------------------------------------------------------------------- */ void opjtGetValueType(void* jobTktId, OP_INT32 attributeId, void* attribute, OP_INT32* type); /*** opjtFreeValue */ /* ---------------------------------------------------------------------- */ /* Free current value for this Attribute. */ /* Current value is determine by value increment pointer. */ /* >> attribute - Attribute to free the existing values */ /* ---------------------------------------------------------------------- */ void opjtFreeValue(void* jobTktId, OP_INT32 attributeId, void* attribute); #ifdef __cplusplus } #endif #endif /*______________________________ opJTAPI.h _______________________________*/ /*3456789012345678901234567890123456789012345678901234567890123456789012345678*/ /* 1 2 3 4 5 6 7 */ /**************************************|***************************************/ /*** End of File ** End of File ** End of File ** End of File ** End of File */ /**************************************|***************************************/