---
name: "Ocsinventory::Agent::XML::Inventory"
section: "3pm"
platform: "linux"
package: "ocsinventory-agent"
version: "2:2.10.0-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Ocsinventory::Agent::XML::Inventory"
---

# Ocsinventory::Agent::XML::Inventory(3pm)

the XML abstraction layer

## NAME

Ocsinventory::Agent::XML::Inventory - the XML abstraction layer

## DESCRIPTION

OCS Inventory uses XML for the data transmission. The module is the abstraction layer. It's mostly used in the backend module where it called `$inventory` in general.

- **new()**

  The usual constructor.

- **initialise()**

  Runs the backend modules to initialise the data.

- **getContent()**

  Return the inventory as a XML string.

- **printXML()**

  Only for debugging purpose. Print the inventory on STDOUT.

- **writeXML()**

  Save the generated inventory as an XML file. The 'local' key of the config is used to know where the file as to be saved.

- **processChecksum()**

  Compute the \<CHECKSUM/\> field. This information is used by the server to know which parts of the XML have changed since the last inventory.

  The is done thank to the last\_file file. It has MD5 prints of the previous inventory.

- **saveLastState()**

  At the end of the process IF the inventory was saved correctly, the last\_state is saved.

- **addSection()**

  A generic way to save a section in the inventory. Please avoid this solution.

- **feedSection()**

  Add information in inventory.
