public function _getFileList(
        $scopes = false,
        $excludeScopes = false,
        $limit = false,
        $path = false
    )
    {
        $filePathList = array();
        $tables = array_unique( array( $this->metaDataTable, $this->metaDataTableCache ) );
        
        foreach ( $tables as $table )
        {
            $query = 'SELECT name FROM ' . $table;
    
            if ( is_array( $scopes ) && count( $scopes ) > 0 )
            {
                $query .= ' WHERE scope ';
                if ( $excludeScopes )
                    $query .= 'NOT ';
                $query .= "IN ('" . implode( "', '", $scopes ) . "')";
            }
    
            $stmt = $this->_query( $query, "_getFileList( array( " . implode( ', ', $scopes ) . " ), $excludeScopes )" );
            if ( !$stmt )
            {
                eZDebug::writeDebug( 'Unable to get file list', __METHOD__ );
                // @todo Throw an exception
                return false;
            }
    
            $filePathList = array();
            while ( $row = $stmt->fetch( PDO::FETCH_NUM ) )
                $filePathList[] = $row[0];
    
            unset( $stmt );
        }
        return $filePathList;
    }