# AutopatcherRepositoryInterface Class Reference

An interface used by AutopatcherServer to get the data necessary to run an autopatcher. This is up to you to implement for custom repository solutions. More...

`#include <AutopatcherRepositoryInterface.h>`

Inheritance diagram for AutopatcherRepositoryInterface:

List of all members.

## Public Member Functions
virtual bool | GetChangelistSinceDate (const char *applicationName, FileList *addedFiles, FileList *deletedFiles, const char *sinceDate, char currentDate[64])=0
virtual bool | GetPatches (const char *applicationName, FileList *input, FileList *patchList, char currentDate[64])=0
virtual const char * | GetLastError (void) const =0

## Detailed Description

An interface used by AutopatcherServer to get the data necessary to run an autopatcher. This is up to you to implement for custom repository solutions.

## Member Function Documentation

virtual bool AutopatcherRepositoryInterface::GetChangelistSinceDate | ( | const char * | applicationName,
|  | FileList * | addedFiles,
|  | FileList * | deletedFiles,
|  | const char * | sinceDate,
|  | char | currentDate[64] |
| ) |  |  | `[pure virtual]`

Get list of files added and deleted since a certain date. This is used by AutopatcherServer and not usually explicitly called.

Parameters:

  `[in]` | applicationName | A null terminated string identifying the application
  `[out]` | addedFiles | A list of the current versions of filenames with hashes as their data that were created after sinceData
  `[out]` | deletedFiles | A list of the current versions of filenames that were deleted after sinceData
  `[in]` | An | input date, in whatever format your repository uses
  `[out]` | currentDate | The current server date, in whatever format your repository uses

Returns:
  True on success, false on failure.

Implemented in AutopatcherMySQLRepository, and AutopatcherPostgreRepository.

virtual const char* AutopatcherRepositoryInterface::GetLastError | ( | void |  | ) | const`[pure virtual]`

Returns:
  Whatever this function returns is sent from the AutopatcherServer to the AutopatcherClient when one of the above functions returns false.

Implemented in AutopatcherMySQLRepository, and AutopatcherPostgreRepository.

virtual bool AutopatcherRepositoryInterface::GetPatches | ( | const char * | applicationName,
|  | FileList * | input,
|  | FileList * | patchList,
|  | char | currentDate[64] |
| ) |  |  | `[pure virtual]`

Get patches (or files) for every file in input, assuming that input has a hash for each of those files.

Parameters:

  `[in]` | applicationName | A null terminated string identifying the application
  `[in]` | input | A list of files with SHA1_LENGTH byte hashes to get from the database.
  `[out]` | patchList | You should return list of files with either the filedata or the patch. This is a subset of input. The context data for each file will be either PC_WRITE_FILE (to just write the file) or PC_HASH_WITH_PATCH (to patch). If PC_HASH_WITH_PATCH, then the file contains a SHA1_LENGTH byte patch followed by the hash. The datalength is patchlength + SHA1_LENGTH
  `[out]` | currentDate | The current server date, in whatever format your repository uses

Returns:
  True on success, false on failure.

Implemented in AutopatcherMySQLRepository, and AutopatcherPostgreRepository.

The documentation for this class was generated from the following file:

- C:/RakNet/Source/AutopatcherRepositoryInterface.h