public static AdvertisementCreationData Create(Activity activity, DateTime timestamp, AdvertisementFlags flags)
 {
     return new AdvertisementCreationData()
     {
         Activity = activity,
         Timestamp = timestamp,
         Flags = flags,
     };
 }
Ejemplo n.º 2
0
 /// <summary>
 /// 新しいタグを生成します。
 /// </summary>
 /// <param name="activity">タグが関連付けられるアクティビティ。</param>
 /// <param name="name">タグの意味。</param>
 /// <param name="value">タグの値。</param>
 /// <param name="created">タグが新規に生成された場合は <c>true</c>。それ以外の場合、つまり既存のタグが取得された場合は <c>false</c> が返されます。このパラメータは初期化せずに渡されます。</param>
 /// <returns>生成されたタグ。</returns>
 public override Tag NewTag(Activity activity, String name, String value, out Boolean created)
 {
     return this.Target.NewTag(activity, name, value, out created);
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 新しいリファレンスを生成します。
 /// </summary>
 /// <param name="activity">リファレンスが関連付けられているアクティビティ。</param>
 /// <param name="name">リファレンスの意味。</param>
 /// <param name="referringActivity">リファレンスが関連付けられる先のアクティビティ。</param>
 /// <param name="created">リファレンスが新規に生成された場合は <c>true</c>。それ以外の場合、つまり既存のリファレンスが取得された場合は <c>false</c> が返されます。このパラメータは初期化せずに渡されます。</param>
 /// <returns>生成されたリファレンス。</returns>
 public override Reference NewReference(Activity activity, String name, Activity referringActivity, out Boolean created)
 {
     return this.Target.NewReference(activity, name, referringActivity, out created);
 }
Ejemplo n.º 4
0
 /// <summary>
 /// 新しいマークを生成します。
 /// </summary>
 /// <param name="account">マークが関連付けられるアカウント。</param>
 /// <param name="name">マークの意味。</param>
 /// <param name="markingActivity">マークが関連付けられる先のアクティビティ。</param>
 /// <param name="created">マークが新規に生成された場合は <c>true</c>。それ以外の場合、つまり既存のマークが取得された場合は <c>false</c> が返されます。このパラメータは初期化せずに渡されます。</param>
 /// <returns>生成されたマーク。</returns>
 public override Mark NewMark(Account account, String name, Activity markingActivity, out Boolean created)
 {
     return this.Target.NewMark(account, name, markingActivity, out created);
 }
Ejemplo n.º 5
0
 private Tuple<Tag, Boolean> _NewTag(
     Activity activity,
     String name,
     String value
 )
 {
     Boolean created;
     return new Tuple<Tag, Boolean>(base.NewTag(activity, name, value, out created), created);
 }
Ejemplo n.º 6
0
 private Tuple<Reference, Boolean> _NewReference(
     Activity activity,
     String name,
     Activity referringActivity
 )
 {
     Boolean created;
     return new Tuple<Reference, Boolean>(base.NewReference(activity, name, referringActivity, out created), created);
 }
Ejemplo n.º 7
0
 private Tuple<Mark, Boolean> _NewMark(
     Account account,
     String name,
     Activity markingActivity
 )
 {
     Boolean created;
     return new Tuple<Mark, Boolean>(base.NewMark(account, name, markingActivity, out created), created);
 }
Ejemplo n.º 8
0
 /// <summary>
 /// 新しいタグを生成します。
 /// </summary>
 /// <param name="activity">タグが関連付けられるアクティビティ。</param>
 /// <param name="name">タグの意味。</param>
 /// <param name="value">タグの値。</param>
 /// <param name="created">タグが新規に生成された場合は <c>true</c>。それ以外の場合、つまり既存のタグが取得された場合は <c>false</c> が返されます。このパラメータは初期化せずに渡されます。</param>
 /// <returns>生成されたタグ。</returns>
 public override Tag NewTag(
     Activity activity,
     String name,
     String value,
     out Boolean created
 )
 {
     Tuple<Tag, Boolean> result = this.NewTagHook.Execute(activity, name, value);
     created = result.Item2;
     if (created)
     {
         this._objectCreated.OnNext(result.Item1);
     }
     return result.Item1;
 }
Ejemplo n.º 9
0
 /// <summary>
 /// 新しいリファレンスを生成します。
 /// </summary>
 /// <param name="activity">リファレンスが関連付けられているアクティビティ。</param>
 /// <param name="name">リファレンスの意味。</param>
 /// <param name="referringActivity">リファレンスが関連付けられる先のアクティビティ。</param>
 /// <param name="created">リファレンスが新規に生成された場合は <c>true</c>。それ以外の場合、つまり既存のリファレンスが取得された場合は <c>false</c> が返されます。このパラメータは初期化せずに渡されます。</param>
 /// <returns>生成されたリファレンス。</returns>
 public override Reference NewReference(
     Activity activity,
     String name,
     Activity referringActivity,
     out Boolean created
 )
 {
     Tuple<Reference, Boolean> result = this.NewReferenceHook.Execute(activity, name, referringActivity);
     created = result.Item2;
     if (created)
     {
         this._objectCreated.OnNext(result.Item1);
     }
     return result.Item1;
 }
Ejemplo n.º 10
0
 /// <summary>
 /// 新しいマークを生成します。
 /// </summary>
 /// <param name="account">マークが関連付けられるアカウント。</param>
 /// <param name="name">マークの意味。</param>
 /// <param name="markingActivity">マークが関連付けられる先のアカウント。</param>
 /// <param name="created">マークが新規に生成された場合は <c>true</c>。それ以外の場合、つまり既存のマークが取得された場合は <c>false</c> が返されます。このパラメータは初期化せずに渡されます。</param>
 /// <returns>生成されたマーク。</returns>
 public override Mark NewMark(
     Account account,
     String name,
     Activity markingActivity,
     out Boolean created
 )
 {
     Tuple<Mark, Boolean> result = this.NewMarkHook.Execute(account, name, markingActivity);
     created = result.Item2;
     if (created)
     {
         this._objectCreated.OnNext(result.Item1);
     }
     return result.Item1;
 }
 public Activity GetActivity(StorageSession context)
 {
     return this._activity != null && this._activity.Context == context
         ? this._activity
         : this._activity = context.Load(this._activityId);
 }
Ejemplo n.º 12
0
 private XElement OutputStatus(Activity activity, Account subject, Boolean includesUser)
 {
     return new XElement("status",
         new XElement("created_at", activity.Timestamp
             .ToString("ddd MMM dd HH:mm:ss +0000 yyyy", CultureInfo.InvariantCulture)
         ),
         new XElement("id", activity.SubId),
         new XElement("text", activity.Value),
         new XElement("source", "<a href=\"zapped\"> rel=\"nofollow\">" + activity.UserAgent + "</a>"),
         new XElement("truncated", "false"),
         activity.ReferrersOf("Mention")
         // TODO: First?
             .FirstOrDefault()
             .Do(m => Make.Array(
                 new XElement("in_reply_to_status_id", m.Null(_ => _.SubId)),
                 new XElement("in_reply_to_user_id", m.Null(_ => _.Account["Id"].Value)),
                 new XElement("in_reply_to_screen_name", m.Null(_ => _.Account["ScreenName"].Value))
             )),
         new XElement("favorited", activity.IsMarked("Favorite", subject).ToString().ToLower()),
         includesUser ? Make.Array(this.OutputUser(activity.Account, subject, false)) : null
     );
 }
Ejemplo n.º 13
0
        private void Send(Activity status)
        {
            using (TcpClient client = new TcpClient(this.ServerAddress, this.ServerPort))
            {
                String body = status["Body"].First().GetValue<String>();
                client.GetStream()
                    .Write(Encoding.UTF8.GetBytes(String.Format(
                        // NOTE: Below here document expects newline code of this source is CRLF.
                        #region SSTP
@"SEND SSTP/1.4
Sender: MetaTweet ({0})
{1}
Charset: UTF-8
",
                        #endregion
                        status.Account["ScreenName"].FirstOrDefault().TryGetValue<String>(),
                        Regex.Match(body, @"([\w,]+):\W*(.+)").If(
                            m => m.Success,
                            m => String.Format("IfGhost: {0}\r\nScript: {1}", m.Groups[1].Value, m.Groups[2].Value),
                            m => String.Format("Script: {0}", body)
                        )
                    )));
            }
        }