Enhanced repository interface

main
everzet 13 years ago
parent 123f5fef77
commit 9f98ee25ea

@ -12,10 +12,34 @@
namespace Composer\Repository;
use Composer\Package\PackageInterface;
/**
* Repository interface.
*
* @author Nils Adermann <naderman@naderman.de>
* @author Konstantin Kudryashov <ever.zet@gmail.com>
*/
interface RepositoryInterface extends \Countable
{
/**
* Initializes repository (reads file, opens connection).
*/
function initialize();
/**
* Checks if specified package registered (installed).
*
* @param PackageInterface $package package instance
*
* @return Boolean
*/
function hasPackage(PackageInterface $package);
/**
* Returns list of registered packages.
*
* @return array
*/
function getPackages();
}

@ -0,0 +1,42 @@
<?php
/*
* This file is part of Composer.
*
* (c) Nils Adermann <naderman@naderman.de>
* Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Composer\Repository;
use Composer\Package\PackageInterface;
/**
* Writable repository interface.
*
* @author Konstantin Kudryashov <ever.zet@gmail.com>
*/
interface WritableRepositoryInterface extends RepositoryInterface
{
/**
* Writes repository (f.e. to the disc).
*/
function write();
/**
* Adds package to the repository.
*
* @param PackageInterface $package package instance
*/
function addPackage(PackageInterface $package);
/**
* Removes package from the repository.
*
* @param PackageInterface $package package instance
*/
function removePackage(PackageInterface $package);
}
Loading…
Cancel
Save