%SYS
Devices Class Reference

This class allows you to modify and view the [Devices] section of the CPF file through programatic APIs. More...

Inheritance diagram for Devices:
Collaboration diagram for Devices:

Public Attributes

 Alias
 Alternate device ID (number) for this device. More...
 
 AlternateDevice
 Device ID of an alternate device. More...
 
 Description
 Enter a description of where the device is located. More...
 
 OpenParameters
 Values that will be sent as the second argument for an OPEN command. More...
 
 PhysicalDevice
 Physical device name used to refer to the device. More...
 
 Prompt
 Number of the prompt option desired. More...
 
 SubType
 Options to refine the definition of your device SubTypes. More...
 
 Type
 Enter the type of device. More...
 
- Public Attributes inherited from CommonProperties
 CPFFile
 CPF file which the object maps to. More...
 
 Comments
 Embedded comments in the CPF file. More...
 
 Flags
 Flags governing how the object is processed when Save() is called. More...
 
 Name
 Name of the object instance. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from CommonMultipleMethods
_.Library.Status Create (_.Library.String Name, _.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags)
 Create a section instance in a CPF file. More...
 
_.Library.Status Delete (_.Library.String Name, _.Library.String CPFFile, _.Library.Integer Flags)
 Delete a section instance from a CPF file. More...
 
_.Library.Boolean Exists (_.Library.String Name, _.Library.ObjectHandle Obj, _.Library.Status Status, _.Library.String CPFFile, _.Library.Integer Flags)
 Database exists. More...
 
_.Library.Status Get (_.Library.String Name, _.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags)
 Get a section instances properties from a CPF file. More...
 
_.Library.Status GetList (_.Library.String Name, _.Library.String CPFFile, _.Library.Integer Flags)
 Returns the properties from a section instance in a CPF file by value in $list format
More...
 
_.Library.Status Modify (_.Library.String Name, _.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags)
 Modify a section instance in a CPF file. More...
 
_.Library.ObjectHandle Open (_.Library.String Name, _.Library.String CPFFile, _.Library.Integer concurrency, _.Library.Status Status, _.Library.Integer Flags)
 Open a section instance object in a CPF file. More...
 
- Static Public Attributes inherited from CommonMultipleMethods
 CAPITALNAME = None
 Determines if the Name specified in the index should be capitalized. More...
 
 SECTIONTYPE = None
 This parameter governs how the class creates audit records. More...
 
- Static Public Attributes inherited from CommonProperties
 DOMAIN = None
 This class contains properties which are included by classes which manipulate sections in the CPF file. More...
 

Detailed Description

This class allows you to modify and view the [Devices] section of the CPF file through programatic APIs.

While properties are usually modified through the System Management portal, there may be some occasion where modifying them through the API's is best for your system. In all the Config methods, if you do not specify the CPFFile parameter, the currently active CPF file is used. If you wish to modify a CPF file which is not the currently active one, then specify the CPFFile you wish to modify in the method call.
The Flags parameter does not normally need to be specified; the defaults are usually sufficient for most cases.
You can use either the provided API's (Create/Get/Modify/Delete) to modify the properties by passing in the correct parameters, or use Object syntax to open and directly manipulate the config objects (Open() and Exists()). Most objects created here need only to specify the Name of the object, and 1 or 2 properties since the the defaults are what are commonly used for most cases.

EXAMPLE:

    ; Use class methods to create an instance
    SYS>s Name="NewDevice"
    SYS>s Properties("PhysicalDevice")=0
    SYS>s Properties("SubType")="C-InterSystems IRIS Terminal"
    SYS>s Properties("Type")="TRM"
    SYS>s Status=##Class(Config.Devices).Create(Name,.Properties)
    SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
    ; Use class methods to modify properties
    SYS>s Status=##Class(Config.Devices).Get(Name,.Properties)
    SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
    SYS>zw Properties("SubType")
    Properties("SubType")="C-InterSystems IRIS Terminal"
    SYS>s Properties("SubType")="C-VT220"
    SYS>s Status=##Class(Config.Devices).Modify(Name,.Properties)
    SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
    ; Now use Objects to modify properties
    SYS>s Obj=##Class(Config.Devices).Open(Name)
    ; We could have used i ##Class(Config.Devices).Exists(Name,.Obj) instead of Open()
    SYS>w Obj.SubType
    C-VT220
    SYS>s Obj.SubType="C-VT440"
    SYS>s Status=Obj.Save()
    SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
    ; Now delete the object we just created
    SYS>s Status=##Class(Config.Devices).Delete(Name)
    SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
    

Member Data Documentation

◆ Alias

Alias

Alternate device ID (number) for this device.


All aliases must be unique. You can use this value to specify a device in an OPEN command, e.g 0PEN 210
 

◆ AlternateDevice

AlternateDevice

Device ID of an alternate device.


This allows a user using IS to specify A as the device. The alternate device must be a defined mnemonic.
 

◆ Description

Description

Enter a description of where the device is located.

This field is for your

own reference to help you identify what machine you're configuring.
 

◆ OpenParameters

OpenParameters

Values that will be sent as the second argument for an OPEN command.


This value allows you to specify more specific terminal information.
 

◆ PhysicalDevice

PhysicalDevice

Physical device name used to refer to the device.


 

◆ Prompt

Prompt

Number of the prompt option desired.


Options:
NULL (blank) = user sees the device selection prompt with the default device defined
1 = automatically uses this device, if it is the current device
2 = automatically uses this device with predefined Right Margin and Parameter settings.
 

◆ SubType

SubType

Options to refine the definition of your device SubTypes.


SubTypes specify terminal charactistics. They are used to create the appropriate OPEN command for the device. There should be SubType information for every terminal type.
 

◆ Type

Type

Enter the type of device.


Options:
TRM = Terminal
SPL = Spooling device
MT = Magnetic Tape drive
BT = Cartridge tape drive
IPC = Interprocess communication
OTH = any other device including printers and sequential files.
Default depends on the device type.