Пример #1
0
    public static PropVo GetProp(PropId id, XmlElement xml)
    {
        PropVo prop = null;

        switch (id)
        {
        case PropId.goldBox: prop = new PropGoldBoxVo(xml);
            break;

        case PropId.silverBox: prop = new PropSilverBoxVo(xml);
            break;

        case PropId.bronzeBox: prop = new PropBronzeBoxVo(xml);
            break;

        case PropId.goldKey: prop = new PropGoldKeyVo(xml);
            break;

        case PropId.silverkey: prop = new PropSilverKeyVo(xml);
            break;

        case PropId.bronzeKey: prop = new PropBronzeKeyVo(xml);
            break;

        case PropId.hp: prop = new PropHpVo(xml);
            break;

        case PropId.mp: prop = new PropMpVo(xml);
            break;

        default:
            break;
        }

        return(prop);
    }
Пример #2
0
 public PropertyType GetPropertyType(PropId id)
 {
     return(PropertyType.KnownValue.prop_type_wstring);
 }
Пример #3
0
 public byte[] ReadProperty(PropId id)
 {
     return(_propBag.ReadProperty(id));
 }
Пример #4
0
 public bool PropertyExists(PropId id)
 {
     return(_propBag.PropertyExists(id));
 }
Пример #5
0
 private void AddConfigKey(PropId id, ConfigKey key)
 {
     keys.Add(key.StringKey.ToUpper(), key);
     alias.Add(key.Alias.ToUpper(), key);
     properties.Add(id, key);
 }
Пример #6
0
        public void Write(IMessage message, Stream stream)
        {
            var outMessage = new DotNetOpenMail.EmailMessage();

            // assuming this is right for unicode support?
            outMessage.HeaderEncoding = DotNetOpenMail.Encoding.EncodingType.QuotedPrintable;
            outMessage.HeaderCharSet  = Encoding.UTF8;

            if (message.HasSubject)
            {
                outMessage.Subject = message.Subject;
            }

            if (message.RecipientCount > 0)
            {
                foreach (var recipient in message.Recipients)
                {
                    var mailAddress =
                        new DotNetOpenMail.EmailAddress(
                            recipient.HasEmailAddress ? recipient.EmailAddress : " ", recipient.Name,
                            DotNetOpenMail.Encoding.EncodingType.QuotedPrintable, Encoding.UTF8
                            );

                    switch (recipient.RecipientType)
                    {
                    case RecipientType.mapi_to:
                        outMessage.AddToAddress(mailAddress);
                        //outMessage.To.Add(mailAddress);
                        break;

                    case RecipientType.mapi_cc:
                        outMessage.AddCcAddress(mailAddress);
                        //outMessage.CC.Add(mailAddress);
                        break;

                    case RecipientType.mapi_bcc:
                        outMessage.AddBccAddress(mailAddress);
                        //outMessage.Bcc.Add(mailAddress);
                        break;

                    default:
                        throw new ArgumentOutOfRangeException();
                    }
                }
            }
            if (message.AttachmentCount > 0)
            {
                foreach (var attachment in message.Attachments)
                {
                    var filename = attachment.Filename;

                    if (attachment.IsMessage)
                    {
                        var embeddedMessage = attachment.OpenAsMessage();
                        var messageWriter   = new MimeMessageWriter();
                        var msgStream       = new MemoryStream();
                        messageWriter.Write(embeddedMessage, msgStream);

                        //msgStream = new MemoryStream(msgStream.ToArray());
                        //.Flush();
                        //msgStream.Seek(0, SeekOrigin.Begin);

                        var messageAttachment =
                            new DotNetOpenMail.FileAttachment(msgStream.ToArray());
                        messageAttachment.ContentType = "message/rfc822";
                        messageAttachment.FileName    = filename + ".eml";
                        //new Attachment(msgStream, filename + ".eml", "message/rfc822");

                        outMessage.AddMixedAttachment(messageAttachment);
                        //outMessage.Attachments.Add(messageAttachment);
                    }
                    else
                    {
                        var fileAttachment =
                            new DotNetOpenMail.FileAttachment(attachment.Bytes);
                        fileAttachment.FileName    = filename;
                        fileAttachment.ContentType = "application/octet-stream";

                        //    new Attachment(new MemoryStream(attachment.Bytes), filename);
                        //outMessage.Attachments.Add(fileAttachment);
                        outMessage.AddMixedAttachment(fileAttachment);
                    }
                }
            }
            if (message.HasBody && message.HasHtmlBody)
            {
                //first we create the Plain Text part
                //var plainTextBody = AlternateView.CreateAlternateViewFromString(message.Body, null, "text/plain");
                //then we create the Html part
                //var htmlBody = AlternateView.CreateAlternateViewFromString(message.HtmlBody, null, "text/html");

                //outMessage.AlternateViews.Add(plainTextBody);
                //outMessage.AlternateViews.Add(htmlBody);
                outMessage.TextPart          = new DotNetOpenMail.TextAttachment(message.Body);
                outMessage.TextPart.CharSet  = Encoding.UTF8;
                outMessage.TextPart.Encoding = DotNetOpenMail.Encoding.EncodingType.QuotedPrintable;

                outMessage.HtmlPart          = new DotNetOpenMail.HtmlAttachment(Encoding.UTF8.GetString(message.HtmlBody));
                outMessage.HtmlPart.CharSet  = Encoding.UTF8;
                outMessage.HtmlPart.Encoding = DotNetOpenMail.Encoding.EncodingType.QuotedPrintable;
            }
            else if (message.HasBody)
            {
                //outMessage.Body = message.Body;
                //outMessage.BodyText = message.Body;
                outMessage.TextPart          = new DotNetOpenMail.TextAttachment(message.Body);
                outMessage.TextPart.CharSet  = Encoding.UTF8;
                outMessage.TextPart.Encoding = DotNetOpenMail.Encoding.EncodingType.QuotedPrintable;
            }
            else if (message.HasHtmlBody)
            {
#warning Encoding is not detected
                //outMessage.TextPart = new DotNetOpenMail.TextAttachment("");
                outMessage.HtmlPart          = new DotNetOpenMail.HtmlAttachment(Encoding.UTF8.GetString(message.HtmlBody));
                outMessage.HtmlPart.CharSet  = Encoding.UTF8;
                outMessage.HtmlPart.Encoding = DotNetOpenMail.Encoding.EncodingType.QuotedPrintable;


                //outMessage.Body = message.HtmlBody;
                //outMessage.IsBodyHtml = true;
            }
            // attempt to get sender details

            PropId senderDisplayNameProp      = 0x0C1A; // sender display name
            PropId senderEmailAddressProp     = 0x0C1F; // sender email address
            PropId senderDisplayNameProp_Alt  = 0x0042; // sender "representing" display name
            PropId senderEmailAddressProp_Alt = 0x0065; // sender "representing" email address

            string senderDisplayname = string.Empty;

            if (message.PropertyExists(senderDisplayNameProp))
            {
                senderDisplayname =
                    message.GetPropertyType(senderDisplayNameProp).Value == (ushort)PropertyType.KnownValue.prop_type_string
                    ? PropertyHelper.GetEncodedStringProperty(message.ReadProperty(senderDisplayNameProp), Encoding.Default)
                    : PropertyHelper.GetUnicodeStringProperty(message.ReadProperty(senderDisplayNameProp));
            }
            else if (message.PropertyExists(senderDisplayNameProp_Alt))
            {
                senderDisplayname =
                    message.GetPropertyType(senderDisplayNameProp_Alt).Value == (ushort)PropertyType.KnownValue.prop_type_string
                    ? PropertyHelper.GetEncodedStringProperty(message.ReadProperty(senderDisplayNameProp_Alt), Encoding.Default)
                    : PropertyHelper.GetUnicodeStringProperty(message.ReadProperty(senderDisplayNameProp_Alt));
            }

            string senderEmailAddress = string.Empty;
            if (message.PropertyExists(senderEmailAddressProp))
            {
                senderEmailAddress =
                    message.GetPropertyType(senderEmailAddressProp).Value == (ushort)PropertyType.KnownValue.prop_type_string
                    ? PropertyHelper.GetEncodedStringProperty(message.ReadProperty(senderEmailAddressProp), Encoding.Default)
                    : PropertyHelper.GetUnicodeStringProperty(message.ReadProperty(senderEmailAddressProp));
            }
            else if (message.PropertyExists(senderEmailAddressProp_Alt))
            {
                senderEmailAddress =
                    message.GetPropertyType(senderEmailAddressProp_Alt).Value == (ushort)PropertyType.KnownValue.prop_type_string
                    ? PropertyHelper.GetEncodedStringProperty(message.ReadProperty(senderEmailAddressProp_Alt), Encoding.Default)
                    : PropertyHelper.GetUnicodeStringProperty(message.ReadProperty(senderEmailAddressProp_Alt));
            }

            var senderAddress =
                new DotNetOpenMail.EmailAddress(string.IsNullOrEmpty(senderEmailAddress) ? " " : senderEmailAddress, senderDisplayname, DotNetOpenMail.Encoding.EncodingType.QuotedPrintable, Encoding.UTF8);
            //new MailAddress(string.IsNullOrEmpty(senderEmailAddress) ? "*****@*****.**" : senderEmailAddress, senderDisplayname);
            //if (senderAddress.Address == "*****@*****.**")
            //    SetEmptyAddress(senderAddress);
            outMessage.FromAddress = senderAddress;

            //outMessage.Sender = senderAddress;
            //outMessage.From = senderAddress;

            // TODO: pull this prop from IMessage instance... -th
            //outMessage.ReplyTo = senderAddress;

            // for now, this is pointless, since the implementation of MailMessage.Send
            // overwrites this with current time... <sigh> -th
            PropId sentTimeProp = 0x0039; // "client submit" time

            if (message.PropertyExists(sentTimeProp))
            {
                var sentTime = (DateTime)PropertyHelper.GetTimeProperty(message.ReadProperty(sentTimeProp));

                outMessage.AddCustomHeader("Date", sentTime.ToString("ddd, dd MMM yyyy HH:mm:ss zzz", System.Globalization.CultureInfo.InvariantCulture).Remove(29, 1));
                //MimeDateTime(sentTime));
                //outMessage.Headers.Add("Date", MimeDateTime(sentTime));
            }
            using (var sw = new StreamWriter(stream))
                sw.Write(outMessage.ToDataString());

            //outMessage.Save(stream);
        }
Пример #7
0
 private void SetPropValue(PropId id, object value)
 {
     properties[id].Value = value;
 }
Пример #8
0
Файл: Props.cs Проект: mo5h/omeo
        internal static void Register(IPlugin ownerPlugin)
        {
            IResourceStore store = Core.ResourceStore;

            _propRSSItem = store.PropTypes.Register("RSSItem", PropDataType.Link,
                                                    PropTypeFlags.CountUnread | PropTypeFlags.DirectedLink);
            store.PropTypes.RegisterDisplayName(_propRSSItem, "Posts", "Weblog");

            _propURL = store.PropTypes.Register("URL", PropDataType.String);
            store.PropTypes.RegisterDisplayName(_propURL, "U R L");

            _propOriginalName = store.PropTypes.Register("OriginalName", PropDataType.String,
                                                         PropTypeFlags.Internal);
            _propLink = store.PropTypes.Register("Link", PropDataType.String);

            _propGUID = store.PropTypes.Register("GUID", PropDataType.String,
                                                 PropTypeFlags.Internal);
            _propHomePage = store.PropTypes.Register("HomePage", PropDataType.String);
            store.PropTypes.RegisterDisplayName(_propHomePage, "Home Page");

            _propDescription = store.PropTypes.Register("Description", PropDataType.String);

            _propLanguage = store.PropTypes.Register("Language", PropDataType.String);

            _propFeedComment = store.PropTypes.Register("FeedComment", PropDataType.Link,
                                                        PropTypeFlags.Internal | PropTypeFlags.DirectedLink);
            _propFeedComment2Feed = store.PropTypes.Register("FeedComment2Feed", PropDataType.Link,
                                                             PropTypeFlags.Internal | PropTypeFlags.DirectedLink);
            _propItemComment = store.PropTypes.Register("ItemComment", PropDataType.Link,
                                                        PropTypeFlags.Internal | PropTypeFlags.DirectedLink);
            _propItemCommentFeed = store.PropTypes.Register("ItemCommentFeed", PropDataType.Link,
                                                            PropTypeFlags.Internal | PropTypeFlags.DirectedLink);
            _propCommentRSS = store.PropTypes.Register("CommentRSS", PropDataType.String,
                                                       PropTypeFlags.Internal);
            _propWfwComment = store.PropTypes.Register("WfwComment", PropDataType.String,
                                                       PropTypeFlags.Internal);
            _propCommentURL = store.PropTypes.Register("CommentURL", PropDataType.String,
                                                       PropTypeFlags.Internal);
            _propAutoUpdateComments = store.PropTypes.Register("AutoUpdateComments", PropDataType.Bool,
                                                               PropTypeFlags.Internal);
            _propEnclosureURL = store.PropTypes.Register("EnclosureURL", PropDataType.String);
            store.PropTypes.RegisterDisplayName(_propEnclosureURL, "Enclosure U R L");

            _propEnclosureSize = store.PropTypes.Register("EnclosureSize", PropDataType.Int);
            store.PropTypes.RegisterDisplayName(_propEnclosureSize, "Enclosure Size");

            _propEnclosureType = store.PropTypes.Register("EnclosureType", PropDataType.String);
            store.PropTypes.RegisterDisplayName(_propEnclosureType, "Enclosure Type");

            _propEnclosureFailureReason = store.PropTypes.Register("EnclosureFailureReason", PropDataType.LongString,
                                                                   PropTypeFlags.Internal);
            _propEnclosureTempFile = store.PropTypes.Register("EnclosureTempFile", PropDataType.LongString,
                                                              PropTypeFlags.Internal);
            _propHttpUserName = store.PropTypes.Register("HttpUserName", PropDataType.String,
                                                         PropTypeFlags.Internal);
            _propHttpPassword = store.PropTypes.Register("HttpPassword", PropDataType.String,
                                                         PropTypeFlags.Internal);
            _propETag = store.PropTypes.Register("ETag", PropDataType.String,
                                                 PropTypeFlags.Internal);
            _propUpdateStatus = store.PropTypes.Register("UpdateStatus", PropDataType.String,
                                                         PropTypeFlags.Internal);
            store.PropTypes.RegisterDisplayName(Core.Props.LastError, "Last Error");

            _propIsPaused = store.PropTypes.Register("IsPaused", PropDataType.Bool,
                                                     PropTypeFlags.Internal);
            _propUpdatePeriod = store.PropTypes.Register("UpdatePeriod", PropDataType.String,
                                                         PropTypeFlags.Internal);
            _propUpdateFrequency = store.PropTypes.Register("UpdateFrequency", PropDataType.Int,
                                                            PropTypeFlags.Internal);
            _propRSSCategory = store.PropTypes.Register("RSSCategory", PropDataType.String);
            store.PropTypes.RegisterDisplayName(_propRSSCategory, "Pub. Category");

            _propLastUpdateTime = store.PropTypes.Register("LastUpdateTime", PropDataType.Date,
                                                           PropTypeFlags.Internal);
            _propDownloadDate = store.PropTypes.Register("DownloadDate", PropDataType.Date);
            store.PropTypes.RegisterDisplayName(_propDownloadDate, "Download Date");

            _propTransient = store.PropTypes.Register("Transient", PropDataType.Int,
                                                      PropTypeFlags.Internal);
            _propCommentCount = store.PropTypes.Register("CommentCount", PropDataTypes.Int);
            store.PropTypes.RegisterDisplayName(_propCommentCount.Id, "Comment Count");

            _propSelectedRSSItem = store.PropTypes.Register("SelectedRSSItem", PropDataType.Link,
                                                            PropTypeFlags.Internal);
            _propSummary = store.PropTypes.Register("Summary", PropDataType.LongString,
                                                    PropTypeFlags.Internal);
            _propDefaultDesktopAlertRule = store.PropTypes.Register("DefaultDesktopAlertRule", PropDataType.Bool,
                                                                    PropTypeFlags.Internal);
            _propWeblog = store.PropTypes.Register("Weblog", PropDataType.Link,
                                                   PropTypeFlags.DirectedLink);
            store.PropTypes.RegisterDisplayName(_propWeblog, "Weblog", "Author");

            _propImageTitle = store.PropTypes.Register("ImageTitle", PropDataType.LongString,
                                                       PropTypeFlags.Internal);
            _propImageURL = store.PropTypes.Register("ImageURL", PropDataType.LongString,
                                                     PropTypeFlags.Internal);
            _propImageLink = store.PropTypes.Register("ImageLink", PropDataType.LongString,
                                                      PropTypeFlags.Internal);
            _propAuthor = store.PropTypes.Register("Author", PropDataType.String);

            _propAuthorEmail = store.PropTypes.Register("AuthorEmail", PropDataType.Link);
            store.PropTypes.RegisterDisplayName(_propAuthorEmail, "Author Email");

            _propDeletedItemHashList = store.PropTypes.Register("DeletedItemHashList", PropDataType.StringList,
                                                                PropTypeFlags.Internal);
            _propIndexInFeed = store.PropTypes.Register("IndexInFeed", PropDataType.Int,
                                                        PropTypeFlags.Internal);
            _propLastItemIndex = store.PropTypes.Register("LastItemIndex", PropDataType.Int,
                                                          PropTypeFlags.Internal);
            _propLinkList = store.PropTypes.Register("LinkList", PropDataType.StringList,
                                                     PropTypeFlags.Internal);
            _propImageContent = store.PropTypes.Register("ImageContent", PropDataType.Blob,
                                                         PropTypeFlags.Internal);
            _propRSSSourceTag = store.PropTypes.Register("RSSSourceTag", PropDataType.String);
            store.PropTypes.RegisterDisplayName(_propRSSSourceTag, "RSS Source");

            _propRSSSourceTagUrl = store.PropTypes.Register("RSSSourceTagUrl", PropDataType.LongString,
                                                            PropTypeFlags.Internal);
            _propRSSSearchPhrase = store.PropTypes.Register("RSSSearchPhrase", PropDataType.LongString,
                                                            PropTypeFlags.Internal);
            _propEnclosureDownloadingState = store.PropTypes.Register("EnclosureDownloadingState", PropDataType.Int);
            store.PropTypes.RegisterDisplayName(_propEnclosureDownloadingState, "Enclosure Downloading State");

            _propEnclosurePath = store.PropTypes.Register("EnclosurePath", PropDataType.LongString,
                                                          PropTypeFlags.Internal);
            _propEnclosureDownloadedSize = store.PropTypes.Register("EnclosureDownloadedSize", PropDataType.Int,
                                                                    PropTypeFlags.Internal);
            _propPubDate = store.PropTypes.Register("PubDate", PropDataType.Date);
            store.PropTypes.RegisterDisplayName(_propPubDate, "Pub Date");

            _propDateModified = store.PropTypes.Register("DateModified", PropDataType.Date);
            store.PropTypes.RegisterDisplayName(_propDateModified, "Date Modified");

            _propRssLongBodyCRC     = store.PropTypes.Register("RssLongBodyCRC", PropDataType.Int, PropTypeFlags.Internal);
            _propUniqueLinks        = store.PropTypes.Register("UniqueLinks", PropDataType.Int, PropTypeFlags.Internal);
            _propMarkReadOnLeave    = store.PropTypes.Register("MarkReadOnLeave", PropDataType.Bool, PropTypeFlags.Internal);
            _propAutoFollowLink     = store.PropTypes.Register("AutoFollowLink", PropDataType.Bool, PropTypeFlags.Internal);
            _propDisableCompression = store.PropTypes.Register("DisableCompression", PropDataType.Bool, PropTypeFlags.Internal);
            _propAllowEqualPosts    = store.PropTypes.Register("AllowEqualPosts", PropDataType.Bool, PropTypeFlags.Internal);
            _propAutoDownloadEncl   = store.PropTypes.Register("AutoDownloadEnclosures", PropDataType.Bool, PropTypeFlags.Internal);
            _propLinkBase           = store.PropTypes.Register("LinkBase", PropDataType.String, PropTypeFlags.Internal);
            _propLinkedPost         = store.PropTypes.Register("LinkedPost", PropDataType.Link, PropTypeFlags.Internal | PropTypeFlags.DirectedLink);

            _propFake = store.PropTypes.Register("FakeLinkProp", PropDataType.Int, PropTypeFlags.Internal);

            store.ResourceTypes.Register(RSSFeedResource, "RSS/ATOM Feed", "Name UpdateStatus",
                                         ResourceTypeFlags.NoIndex | ResourceTypeFlags.Internal, ownerPlugin);
            store.ResourceTypes.Register(RSSItemResource, "RSS/ATOM Post", Core.ResourceStore.PropTypes [Core.Props.Subject].Name,
                                         ResourceTypeFlags.CanBeUnread, ownerPlugin);
            store.ResourceTypes.Register(RSSFeedGroupResource, "Feed Folder", "Name",
                                         ResourceTypeFlags.ResourceContainer | ResourceTypeFlags.NoIndex | ResourceTypeFlags.Internal, ownerPlugin);
            store.ResourceTypes.Register(RSSSearchEngineResource, RSSSearchEngineResource, "Name",
                                         ResourceTypeFlags.NoIndex | ResourceTypeFlags.Internal, ownerPlugin);
            store.ResourceTypes.Register(RSSLinkedPostResource, RSSLinkedPostResource, "Name",
                                         ResourceTypeFlags.NoIndex | ResourceTypeFlags.Internal, ownerPlugin);

            store.RegisterUniqueRestriction(RSSSearchEngineResource, _propURL);
            store.RegisterLinkRestriction(RSSFeedResource, _propRSSItem, RSSItemResource, 0, Int32.MaxValue);
            store.RegisterLinkRestriction(RSSFeedResource, _propFeedComment, RSSItemResource, 0, Int32.MaxValue);
            store.RegisterLinkRestriction(RSSItemResource, _propItemCommentFeed, RSSFeedResource, 0, 1);
            store.RegisterLinkRestriction(RSSFeedResource, _propSelectedRSSItem, RSSItemResource, 0, 1);
            store.RegisterLinkRestriction(RSSFeedResource, _propAuthorEmail, "EmailAccount", 0, 1);
        }
Пример #9
0
 public Stream OpenPropertyStream(PropId id)
 {
     throw new NotImplementedException();
 }
Пример #10
0
 public byte[] ReadProperty(PropId id)
 {
     throw new NotImplementedException();
 }
Пример #11
0
 public uint PropertySize(PropId id)
 {
     throw new NotImplementedException();
 }
Пример #12
0
 public PropertyType GetPropertyType(PropId id)
 {
     throw new NotImplementedException();
 }
Пример #13
0
 public Stream OpenPropertyStream(PropId id)
 {
     return(System.IO.Stream.Null);
 }
Пример #14
0
 public uint PropertySize(PropId id)
 {
     return(1234);
 }
Пример #15
0
 public bool PropertyExists(PropId id)
 {
     return(true);
 }
Пример #16
0
 public bool PropertyExists(PropId id)
 {
     throw new NotImplementedException();
 }
Пример #17
0
 public INamedProperty Lookup(PropId id)
 {
     throw new NotImplementedException();
 }
Пример #18
0
 public bool PropertyExists(PropId id)
 {
     return(NameIdMapMockConstants.PropertyExistValues.ContainsKey(id));
 }
Пример #19
0
 public bool PropertyExists(PropId id)
 {
     return(AttachmentMockConstants.PropertyExistValues.ContainsKey(id));
 }
Пример #20
0
 public CorePropIds(ICoreProps props)
 {
     _name     = new PropId <string>(props.Name);
     _parent   = new PropId <IResource>(props.Parent);
     _longBody = new PropId <string>(props.LongBody);
 }
Пример #21
0
Файл: Props.cs Проект: mo5h/omeo
        internal static void Register(IPlugin ownerPlugin)
        {
            IResourceStore store = Core.ResourceStore;

            _propRepositoryType = store.PropTypes.Register("jetbrains.scc.RepositoryType", PropDataTypes.String,
                                                           PropTypeFlags.Internal);
            _propChangeSetNumber = store.PropTypes.Register("jetbrains.scc.ChangeSetNumber", PropDataTypes.Int);
            store.PropTypes.RegisterDisplayName(_propChangeSetNumber, "Change Set Number");

            _propP4Client = store.PropTypes.Register("jetbrains.scc.Client", PropDataTypes.String);

            _propAffectsFolder = store.PropTypes.Register("jetbrains.scc.AffectsFolder", PropDataTypes.Link,
                                                          PropTypeFlags.Internal | PropTypeFlags.CountUnread);
            _propChangeType = store.PropTypes.Register("jetbrains.scc.ChangeType", PropDataTypes.String);
            store.PropTypes.RegisterDisplayName(_propChangeType, "Change Type");

            _propRevision = store.PropTypes.Register("jetbrains.scc.Revision", PropDataTypes.Int);

            _propDiff = store.PropTypes.Register("jetbrains.scc.Diff", PropDataTypes.LongString,
                                                 PropTypeFlags.Internal);
            _propChange = store.PropTypes.Register("jetbrains.scc.Change", PropDataTypes.Link,
                                                   PropTypeFlags.Internal | PropTypeFlags.DirectedLink);
            _propBinary = store.PropTypes.Register("jetbrains.scc.Binary", PropDataTypes.Bool,
                                                   PropTypeFlags.Internal);
            _propChangeSetRepository = store.PropTypes.Register("jetbrains.scc.ChangeSetRepository", PropDataTypes.Link,
                                                                PropTypeFlags.Internal);
            _propP4IgnoreChanges = store.PropTypes.Register("jetbrains.scc.P4IgnoreChanges", PropDataTypes.LongString,
                                                            PropTypeFlags.Internal);
            _propP4WebUrl = store.PropTypes.Register("jetbrains.scc.P4WebUrl", PropDataTypes.LongString,
                                                     PropTypeFlags.Internal);
            _propP4ServerPort = store.PropTypes.Register("jetbrains.scc.P4ServerPort", PropDataTypes.LongString,
                                                         PropTypeFlags.Internal);
            _propPathsToWatch = store.PropTypes.Register("jetbrains.scc.PathsToWatch", PropDataTypes.LongString,
                                                         PropTypeFlags.Internal);
            _propLastRevision = store.PropTypes.Register("jetbrains.scc.LastRevision", PropDataTypes.Int);
            store.PropTypes.RegisterDisplayName(_propLastRevision, "Last Revision");

            _propUserRepository = store.PropTypes.Register("jetbrains.scc.UserRepository", PropDataTypes.Link,
                                                           PropTypeFlags.Internal);
            _propUserContact = store.PropTypes.Register("jetbrains.scc.UserContact", PropDataTypes.Link,
                                                        PropTypeFlags.Internal);
            _propUserId = store.PropTypes.Register("jetbrains.scc.UserId", PropDataTypes.String,
                                                   PropTypeFlags.Internal);
            _propRepositoryUrl = store.PropTypes.Register("jetbrains.scc.RepositoryUrl", PropDataTypes.String,
                                                          PropTypeFlags.Internal);
            _propRepositoryRoot = store.PropTypes.Register("jetbrains.scc.RepositoryRoot", PropDataTypes.String,
                                                           PropTypeFlags.Internal);
            _propUserName = store.PropTypes.Register("jetbrains.scc.UserName", PropDataTypes.String,
                                                     PropTypeFlags.Internal);
            _propPassword = store.PropTypes.Register("jetbrains.scc.Password", PropDataTypes.String,
                                                     PropTypeFlags.Internal);
            _propRegexMatch = store.PropTypes.Register("jetbrains.scc.RegexMatch", PropDataTypes.String,
                                                       PropTypeFlags.Internal);
            _propRegexReplace = store.PropTypes.Register("jetbrains.scc.RegexReplace", PropDataTypes.String,
                                                         PropTypeFlags.Internal);
            _propLastError = store.PropTypes.Register("jetbrains.scc.LastError", PropDataTypes.String,
                                                      PropTypeFlags.Internal);
            _propShowSubfolderContents = store.PropTypes.Register("jetbrains.scc.ShowSubfolderContents", PropDataTypes.Bool,
                                                                  PropTypeFlags.Internal);

            store.ResourceTypes.Register(RepositoryResource, "Repository", "Name",
                                         ResourceTypeFlags.ResourceContainer | ResourceTypeFlags.NoIndex, ownerPlugin);
            store.ResourceTypes.Register(ChangeSetResource, "Changeset", "Subject",
                                         ResourceTypeFlags.CanBeUnread, ownerPlugin);
            store.ResourceTypes.Register(FolderResource, "Folder", "Name",
                                         ResourceTypeFlags.ResourceContainer | ResourceTypeFlags.NoIndex, ownerPlugin);
            store.ResourceTypes.Register(FileChangeResource, "", "",
                                         ResourceTypeFlags.Internal | ResourceTypeFlags.NoIndex, ownerPlugin);
            store.ResourceTypes.Register(UserToRepositoryMapResource, "", "",
                                         ResourceTypeFlags.Internal | ResourceTypeFlags.NoIndex, ownerPlugin);
            store.ResourceTypes.Register(LinkRegexResource, "", "",
                                         ResourceTypeFlags.Internal | ResourceTypeFlags.NoIndex, ownerPlugin);

            store.RegisterLinkRestriction(UserToRepositoryMapResource, _propUserRepository, RepositoryResource, 1, 1);
            store.RegisterLinkRestriction(UserToRepositoryMapResource, _propUserContact, "Contact", 1, 1);
        }
Пример #22
0
 public PropertyType GetPropertyType(PropId id)
 {
     return((new MessageMockPropBag()).GetPropertyType(id));
 }
Пример #23
0
 private T GetPropValue <T>(PropId id)
 {
     return((T)properties[id].Value);
 }
Пример #24
0
 public bool PropertyExists(PropId id)
 {
     return((new MessageMockPropBag()).PropertyExists(id));
 }
Пример #25
0
 public PropertyType GetPropertyType(PropId id)
 {
     return(_propBag.GetPropertyType(id));
 }
Пример #26
0
 public uint PropertySize(PropId id)
 {
     return((new MessageMockPropBag()).PropertySize(id));
 }
Пример #27
0
 public uint PropertySize(PropId id)
 {
     return(_propBag.PropertySize(id));
 }
Пример #28
0
 public byte[] ReadProperty(PropId id)
 {
     return((new MessageMockPropBag()).ReadProperty(id));
 }
Пример #29
0
 public Stream OpenPropertyStream(PropId id)
 {
     return(_propBag.OpenPropertyStream(id));
 }
Пример #30
0
 public Stream OpenPropertyStream(PropId id)
 {
     return((new MessageMockPropBag()).OpenPropertyStream(id));
 }