public function providePermissions()
    {
        $permissions = array();
        $config = Config::inst()->get('PublishProvider', 'classes');

        foreach ($config as $class) {
            $subClasses = array_keys(ClassInfo::subclassesFor($class));
            
            foreach ($subClasses as $subClass) {
                foreach (array(
                        'publish',
                        'unpublish',
                        'archive',
                        'view',
                        'edit',
                        'delete',
                        'create') as $name) {
                    $permissions[$subClass . '_' . $name] = singleton($subClass)->singular_name(). ' ' . $name;
                }
            }
        }
        
        return $permissions;
    }