public static function getInstance()
 {
     if (self::$Instance === null) {
         self::$Instance = new MountpointsManager();
     }
     return self::$Instance;
 }
 protected static function getNewProviderInstance($mountpointPath)
 {
     $urlParts = EyeosAbstractVirtualFile::parse_url($mountpointPath);
     $userMountpointConfigPath = self::getUserMountpointsPath($urlParts['principalname']);
     $conf = FSI::getConfiguration(EyeosAbstractVirtualFile::URL_SCHEME_USERFILES . '.scheme' . SERVICE_FILESYSTEM_CONFIGURATION_FILE_EXTENSION);
     $providerClassName = (string) $conf->mountpointsManager[0]->provider['class'];
     $params = array('filePath' => $userMountpointConfigPath);
     return MountpointsManager::getNewMountpointDescriptorsProviderInstance($providerClassName, $params);
 }
 /**
  * @param string $path
  * @param SimpleXMLElement $xmlConf
  * @return AbstractFile
  */
 public static function getRealFile($path, $xmlParams = null, $params = null)
 {
     $moutpointDescriptors = MountpointsManager::getInstance()->getMountpointDescriptorsList($path);
     $mountedPath = null;
     $realPath = AdvancedPathLib::getCanonicalURL($path);
     foreach ($moutpointDescriptors as $moutpointDescriptor) {
         $mountpointPath = $moutpointDescriptor->getMountpointPath();
         if (utf8_strpos($realPath, $mountpointPath) === 0) {
             $mountedPath = $moutpointDescriptor->getTargetPath();
             $mountedPath .= '/' . utf8_substr($realPath, utf8_strlen($mountpointPath));
         }
     }
     if ($mountedPath !== null) {
         return FSI::getFile($mountedPath, $params);
     }
     return null;
 }