# PackageKit Specification

PackageKit is a D-Bus abstraction layer that allows the session user to manage packages in a secure way using a cross-distro, cross-architecture API. PackageKit is built using a lightweight backend architecture. PackageKit is product and vendor neutral and is currently being developed by a small team of developers.

This part documents core features of PackageKit.

## Annotation Glossary

### A

array

  Parameter points to an array of items.

### E

element-type

  Generics and defining elements of containers and arrays.

### O

out

  Parameter for returning results. Default is transfer full.

### S

scope call

  The callback is valid only during the call to the method.

scope notified

  The callback is valid until the GDestroyNotify argument is called.

skip

  Exposed in C code, not necessarily available in other languages.

### T

transfer container

  Free data container after the code is done.

transfer full

  Free data after the code is done.

transfer none

  Don't free data after the code is done.