# Class CIM_ProtocolService
extends CIM_Service

ProtocolService represents represents an application layer service available on a hosting system. Often times, the service name reflects the employed/supported communication protocol (e.g. file transfer - FTP), however in some other cases it does not. (e.g. mail notification service - biff). Access to the service is modeled with one or more instances of ProtocolEndpoint. This class represents the availability of the function on the system. Issuing a stop to this instance is equivalent to disabling the functionality and making it unavailable to users. Thus a stop of this service will result in the removing of all ProtocolEndpoints which are associated with the instance via ServicAccessBySAP. The functionality can be made available again by issuing a start to the service. This class contains service definitions which are currently needed. Future extensions are expected.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_Service
|
+--CIM_ProtocolService

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | ProtocolService represents represents an application layer service available on a hosting system. Often times, the service name reflects the employed/supported communication protocol (e.g. file transfer - FTP), however in some other cases it does not. (e.g. mail notification service - biff). Access to the service is modeled with one or more instances of ProtocolEndpoint. This class represents the availability of the function on the system. Issuing a stop to this instance is equivalent to disabling the functionality and making it unavailable to users. Thus a stop of this service will result in the removing of all ProtocolEndpoints which are associated with the instance via ServicAccessBySAP. The functionality can be made available again by issuing a start to the service. This class contains service definitions which are currently needed. Future extensions are expected.
UMLPackagePath | string | CIM::Core::Service
Version | string | 2.35.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
CurrentActiveConnections | uint16 |
Description | string | CurrentActiveConnections indicates the number of sessions currently established with the protocol service. A value of null for this property shall indicate the number of active sessions is unknown. A value of zero shall indicate there are no active sessions. Any other value shall correspond to the number of active sessions.
MaxValue | sint64 | 65535
MinValue | sint64 | 0
MaxConnections | uint16 | 1
Description | string | MaxConnections specifies the maximum number of connections currently allowed by the service. The values 32768..65535 are DMTF Reserved.
MaxValue | sint64 | 65535
MinValue | sint64 | 1
Write | boolean | true
OtherProtocol | string |
Description | string | If the Protocol property is set to 1 "Other" then free form string providing more information about the protocol. If not set to 1, this string has no meaning.
ModelCorrespondence | string | CIM_ProtocolService.Protocol
Protocol | uint16 |
Description | string | The protocol this service provides. Values defined for this property are limited to the known use cases where it is desirable to represent the ability to enable or disable the functionality on the system.
ModelCorrespondence | string | CIM_ProtocolService.OtherProtocol
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, 8..32767, 32768..65535
Values | string | Unknown, Other, SSH, Telnet, CLP, CIM-XML, WS-Management, CIM-RS, DMTF Reserved, Vendor Reserved

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
CommunicationStatus | uint16 | CIM_ManagedSystemElement
CreationClassName | string | CIM_Service
Description | string | CIM_ManagedElement
DetailedStatus | uint16 | CIM_ManagedSystemElement
ElementName | string | CIM_ManagedElement
EnabledDefault | uint16 | CIM_EnabledLogicalElement
EnabledState | uint16 | CIM_EnabledLogicalElement
HealthState | uint16 | CIM_ManagedSystemElement
InstallDate | datetime | CIM_ManagedSystemElement
InstanceID | string | CIM_ManagedElement
Name | string | CIM_Service
OperatingStatus | uint16 | CIM_ManagedSystemElement
OtherEnabledState | string | CIM_EnabledLogicalElement
PrimaryOwnerContact | string | CIM_Service
PrimaryOwnerName | string | CIM_Service
PrimaryStatus | uint16 | CIM_ManagedSystemElement
RequestedState | uint16 | CIM_EnabledLogicalElement
Started | boolean | CIM_Service
StartMode | string | CIM_Service
Status | string | CIM_ManagedSystemElement
SystemCreationClassName | string | CIM_Service
SystemName | string | CIM_Service
TimeOfLastStateChange | datetime | CIM_EnabledLogicalElement
TransitioningToState | uint16 | CIM_EnabledLogicalElement
AvailableRequestedStates | uint16[] | CIM_EnabledLogicalElement
OperationalStatus | uint16[] | CIM_ManagedSystemElement
StatusDescriptions | string[] | CIM_ManagedSystemElement

## Class Methods

### Local Class Methods

#### ListenOnPort (uint32)

#### Method Qualifiers (ListenOnPort)

Name | Data Type | Value
--- | --- | ---
Description | string | Create a CIM_TCPProtocoEndpoint instance and associate it with this CIM_ProtocolService instance via an instance of CIM_ServiceAccessBySAP. The newly created instance of CIM_TCPProtocolEndpoint will be for the port specified. When the CIM_IPProtocolEndpoint is not specified, the method will create an instance of CIM_HostedAccessPoint which associates the newly created CIM_TCPProtocolEndpoint instance with the instance of CIM_ComputerSystem with which this instance is associated via an instance of CIM_HostedService (the scoping system) It will also create instances of CIM_BindsTo which associate the created CIM_TCPProtocolEndpoint with each instance CIM_IPProtocolEndpoint which is associated with the scoping system. When an instance of CIM_IPProtocolEndpoint is specified, the CIM_HostedAccessPoint will associate the CIM_TCPProtocolEndpoint with the same instance which is associated with the CIM_IPProtocolEndpoint. In addition, the implementation will create a single instance of CIM_BindsTo that associates the CIM_TCPProtocolEndpoint with the specified instance of CIM_IPProtocolEndpoint. For each instance of CIM_BindsTo created by this method, the value of the Dependent property will be a reference to the newly created instance of CIM_TCPProtocolEndpoint. An extrinsic method is required in order to provide atomic creation of multiple, related instances. Prior to creating the instances, the implementation will verify that a CIM_TCPProtocolEndpoint instance can be created and associated with this instance.
ValueMap | string | 0, 1, 2, 4, .., 32768..65535
Values | string | Completed with No Error, Not Supported, Error Occurred, Invalid Port, DMTF Reserved, Vendor Reserved

#### Method Parameters (ListenOnPort)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
PortNumber | uint32
Description | string | The desired listening port.
IN | boolean | true
Required | boolean | true
IPEndpoint | REF CIM_IPProtocolEndpoint
Description | string | A specific CIM_IPProtocolEndpoint on which the service will listen to the specified port.
IN | boolean | true
TCPEndpoint | REF CIM_TCPProtocolEndpoint
Description | string | The created TCPProtocolEndpoint.
IN | boolean | false
OUT | boolean | true

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
RequestStateChange | uint32 | CIM_EnabledLogicalElement
StartService | uint32 | CIM_Service
StopService | uint32 | CIM_Service