<?php

namespace CGClientTickets\Repository;

abstract class BaseRepository
{
    protected $_rs;

    abstract public function RecordCount();
    abstract public function MoveNext();
    abstract public function MoveFirst();
    abstract public function Rewind();
    abstract public function MoveLast();
    abstract public function EOF();
    abstract public function GetObject();

    public function FetchAll()
    {
        $out = array();
        $this->MoveFirst();
        while( !$this->EOF() ) {
            $out[] = $this->GetObject();
            $this->MoveNext();
        }
        return $out;
    }
}
