Exemple #1
0
        private static void WriteGroup(PwGroup pg, PwGroup pgRoot, ref uint uGroupIndex,
                                       Dictionary <PwGroup, UInt32> dictGroups, DateTime dtNeverExpire,
                                       Kdb3Manager mgr, bool bForceLevel0)
        {
            if (pg == pgRoot)
            {
                return;
            }

            Kdb3Group grp = new Kdb3Group();

            grp.GroupId    = uGroupIndex;
            dictGroups[pg] = grp.GroupId;

            grp.ImageId = (uint)pg.IconId;
            grp.Name    = pg.Name;
            grp.CreationTime.Set(pg.CreationTime);
            grp.LastModificationTime.Set(pg.LastModificationTime);
            grp.LastAccessTime.Set(pg.LastAccessTime);

            if (pg.Expires)
            {
                grp.ExpirationTime.Set(pg.ExpiryTime);
            }
            else
            {
                grp.ExpirationTime.Set(dtNeverExpire);
            }

            grp.Level = (bForceLevel0 ? (ushort)0 : (ushort)(pg.GetLevel() - 1));

            if (pg.IsExpanded)
            {
                grp.Flags |= (uint)Kdb3GroupFlags.Expanded;
            }

            if (!mgr.AddGroup(ref grp))
            {
                Debug.Assert(false);
                throw new InvalidOperationException();
            }

            ++uGroupIndex;
        }
Exemple #2
0
		private static void WriteGroup(PwGroup pg, PwGroup pgRoot, ref uint uGroupIndex,
			Dictionary<PwGroup, UInt32> dictGroups, DateTime dtNeverExpire,
			KdbManager mgr, bool bForceLevel0)
		{
			if(pg == pgRoot) return;

			KdbGroup grp = new KdbGroup();

			grp.GroupId = uGroupIndex;
			dictGroups[pg] = grp.GroupId;

			grp.ImageId = (uint)pg.IconId;
			grp.Name = pg.Name;
			grp.CreationTime.Set(pg.CreationTime);
			grp.LastModificationTime.Set(pg.LastModificationTime);
			grp.LastAccessTime.Set(pg.LastAccessTime);

			if(pg.Expires)
				grp.ExpirationTime.Set(pg.ExpiryTime);
			else grp.ExpirationTime.Set(dtNeverExpire);

			grp.Level = (bForceLevel0 ? (ushort)0 : (ushort)(pg.GetLevel() - 1));

			if(pg.IsExpanded) grp.Flags |= (uint)KdbGroupFlags.Expanded;

			if(!mgr.AddGroup(ref grp))
			{
				Debug.Assert(false);
				throw new InvalidOperationException();
			}

			++uGroupIndex;
		}