<?php
namespace Smart_Media_Cleanup;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

class Plugin {

	private static $instance = null;

	public $settings;
	public $cleanup;
	public $orphan_scanner;
	public $orphan_admin;
	public $logger;
	public $virtual_folders;

	private function __construct() {}

	public static function instance() {
		if ( null === self::$instance ) {
			self::$instance = new self();
			self::$instance->init();
		}
		return self::$instance;
	}

	private function init() {
		$this->settings        = new Settings();
		$this->logger          = new Logger();
		$this->cleanup         = new Cleanup_On_Delete();
		$this->orphan_scanner  = new Orphan_Scanner();
		$this->orphan_admin    = new Orphan_Admin();
		$this->virtual_folders = new Virtual_Folders();
	}

	public function get_settings() {
		return $this->settings;
	}

	public function get_logger() {
		return $this->logger;
	}
}
