# GDA Providers

# Introduction

For each different data source supported by libgda there must be a GObject that implements the virtual methods defined in GdaServerProvider(3) class.

Providers must also create their own object to implement the virtual methods defined in GdaDataModel(3) or one of its subclasses (currently GdaDataModelArray(3) and GdaDataModelHash(3)) to support recordsets.

Since libgda itself is developed in the C language, and that most providers are also implemented in that language, the libgda library itself contains a set of helper classes and functions to guide you in the addition of a new provider to the GDA framework.