3.2.4.2.47.1 Commit (Opnum 11)

The Commit method is implemented as one of the methods for the IFsrmObject interface (section 3.2.4.2.10).<72> This method has the same behavior as described in IFsrmObject::Commit (section 3.2.4.2.10.5) with the following additional behavior:

  • If FSRM Base Object.Deleted is set to true for this Non-Persisted Module Definition Instance (section 3.2.1.6.2.2), the server MUST remove the Persisted Module Definition (section 3.2.1.6.2.1) from the List of Persisted Module Definitions (section 3.2.1.6) that has the same Module Definition.Name as this Non-Persisted Module Definition Instance, if one exists. This removal MUST occur even if other changes were made to the configuration of the Non-Persisted Module Definition Instance (section 3.2.1.6.2.2). If there is no Persisted Module Definition (section 3.2.1.6.2.1) in the List of Persisted Module Definitions (section 3.2.1.6) that has the same Module Definition.Name as the Non-Persisted Module Definition Instance (section 3.2.1.6.2.2) being deleted, the server does not perform any action and MUST return zero. The server MUST return a nonzero error code if removal fails.

  • If FSRM Base Object.Deleted is set to false for this Non-Persisted Module Definition Instance, the server MUST update the configuration data of the Persisted Module Definition in the List of Persisted Module Definitions that has the same Module Definition.Name as this Non-Persisted Module Definition Instance, if one exists, with the configuration data from this instance, or return a nonzero error code.

  • If a Persisted Module Definition does not exist with the same Module Definition.Name and FSRM Base Object.Deleted is set to false, the server MUST perform the following actions:

    • Create a new Persisted Module Definition.

    • Populate its configuration with the configuration from this Non-Persisted Module Definition Instance.

    • Add the newly created Persisted Module Definition to the List of Persisted Module Definitions.

To update or populate the configuration data from Non-Persisted Module Definition Instance to a Persisted Module Definition, the server MUST assign the values of all the properties listed below, of the Non-Persisted Module Definition Instance to the corresponding properties of the Persisted Module Definition.

  • FSRM Base Object.Description

  • ModuleClsid

  • Module Definition.Name

  • Company

  • Version

  • Enabled/disabled

  • Needs file content

  • Module Definition.Account

  • Supported extensions

  • Module Definition.Parameters

  • Capabilities

  • Storage Type