Ejemplo n.º 1
0
        public void RegisterProjectFactory(INiProjectFactory projectFactory)
        {
            if (projectFactory == null)
                throw new ArgumentNullException("projectFactory");

            var projectManager = (INiProjectManager)GetService(typeof(INiProjectManager));

            projectFactory.SetSite(this);

            ErrorUtil.ThrowOnFailure(projectManager.RegisterProjectFactory(
                projectFactory.GetType().GUID,
                projectFactory
            ));
        }
Ejemplo n.º 2
0
        public void RegisterProjectFactory(INiProjectFactory projectFactory)
        {
            if (projectFactory == null)
            {
                throw new ArgumentNullException("projectFactory");
            }

            var projectManager = (INiProjectManager)GetService(typeof(INiProjectManager));

            projectFactory.SetSite(this);

            ErrorUtil.ThrowOnFailure(projectManager.RegisterProjectFactory(
                                         projectFactory.GetType().GUID,
                                         projectFactory
                                         ));
        }
Ejemplo n.º 3
0
        public HResult RegisterProjectFactory(Guid guid, INiProjectFactory projectFactory)
        {
            try
            {
                if (projectFactory == null)
                {
                    throw new ArgumentNullException("projectFactory");
                }

                _factories.Add(guid, projectFactory);

                return(HResult.OK);
            }
            catch (Exception ex)
            {
                return(ErrorUtil.GetHResult(ex));
            }
        }
Ejemplo n.º 4
0
        private HResult OpenProject(string fileName, NiProjectCreateMode mode)
        {
            try
            {
                if (fileName == null)
                {
                    throw new ArgumentNullException("fileName");
                }

                // Find the associated factory.

                INiProjectFactory factory = null;

                string extension = Path.GetExtension(fileName);

                if (extension != null)
                {
                    Debug.Assert(extension[0] == '.' && extension.Length > 1);

                    factory = FindProjectFactory(extension.Substring(1));
                }

                if (factory == null)
                {
                    throw new ArgumentException(NeutralResources.CannotFindProjectFactory, "fileName");
                }

                // Close the existing project.

                if (ActiveProject != null)
                {
                    var activeProject = ActiveProject;
                    ActiveProject = null;
                    activeProject.Close();
                }

                // Create and load the new project.

                INiProject project;
                var        result = factory.CreateProject(
                    fileName,
                    mode,
                    out project
                    );

                if (ErrorUtil.Failure(result))
                {
                    return(result);
                }

                project.SetPropertyEx(NiHierarchyProperty.OwnerType, factory.GetType().GUID);

                ActiveProject = project;

                return(HResult.OK);
            }
            catch (Exception ex)
            {
                return(ErrorUtil.GetHResult(ex));
            }
        }
Ejemplo n.º 5
0
        public HResult RegisterProjectFactory(Guid guid, INiProjectFactory projectFactory)
        {
            try
            {
                if (projectFactory == null)
                    throw new ArgumentNullException("projectFactory");

                _factories.Add(guid, projectFactory);

                return HResult.OK;
            }
            catch (Exception ex)
            {
                return ErrorUtil.GetHResult(ex);
            }
        }