Example #1
0
        public SccProjectFile(SccProjectMap map, string filename)
        {
            if (map == null)
            {
                throw new ArgumentNullException("container");
            }
            else if (string.IsNullOrEmpty(filename))
            {
                throw new ArgumentNullException("filename");
            }

            _map      = map;
            _filename = filename;
        }
Example #2
0
        public SccProjectData(SccProjectMap context, IVsSccProject2 project)
        {
            ThreadHelper.ThrowIfNotOnUIThread();

            if (context == null)
            {
                throw new ArgumentNullException("context");
            }
            else if (project == null)
            {
                throw new ArgumentNullException("project");
            }

            _context = context;
            _map     = context;

            // Project references to speed up marshalling
            _sccProject = project;
            _hierarchy  = (IVsHierarchy)project; // A project must be a hierarchy in VS
            _vsProject  = (IVsProject)project;   // A project must be a VS project

            _projectFlags = GetProjectFlags(ProjectTypeGuid);
            _files        = new SccProjectFileCollection();

            uint        addvpFlags;
            IVsSolution sln = GetService <IVsSolution>(typeof(SVsSolution));

            if (sln != null && VSErr.Succeeded(sln.GetVirtualProjectFlags(_hierarchy, out addvpFlags)))
            {
                if ((addvpFlags & (uint)__VSADDVPFLAGS.ADDVP_ExcludeFromSCC) != 0)
                {
                    _projectFlags |= SccProjectFlags.ExcludedFromScc;
                }
                if ((addvpFlags & (uint)__VSADDVPFLAGS.ADDVP_AddToProjectWindow) == 0)
                {
                    _projectFlags |= SccProjectFlags.DontAddToProjectWindow;
                }
            }
        }