public TrackerRemoved(VehicleId vehicleId, TrackerId trackerId)
        {
            VehicleId = vehicleId;
            TrackerId = trackerId;

            GlobalSequenceNumber = DateTimeOffset.UtcNow;
        }
 public NewTrackerAdded(
     TrackerId id, string serialNumber, DateTimeOffset addedAt, string?brand, string?model)
 {
     Id           = id;
     SerialNumber = serialNumber;
     AddedAt      = addedAt;
     Brand        = brand;
     Model        = model;
 }
 public RemoveTracker(
     VehicleId vehicleId, TrackerId trackerId,
     DateTimeOffset removeddAt, string?removedBy)
 {
     VehicleId  = vehicleId;
     TrackerId  = trackerId;
     RemoveddAt = removeddAt;
     RemovedBy  = removedBy;
 }
 public PositionEvent(
     TrackerId trackerId, DateTimeOffset timestamp,
     GpsPosition position, float speed, float heading, float accuracy)
     : base(trackerId, timestamp)
 {
     Position = position;
     Speed    = speed;
     Heading  = heading;
     Accuracy = accuracy;
 }
Esempio n. 5
0
 public ReplaceTracker(
     VehicleId vehicleId, TrackerId oldTrackerId, TrackerId newTrackerId,
     DateTimeOffset replacedAt, string?replacedBy)
 {
     VehicleId    = vehicleId;
     OldTrackerId = oldTrackerId;
     NewTrackerId = newTrackerId;
     ReplacedAt   = replacedAt;
     ReplacedBy   = replacedBy;
 }
Esempio n. 6
0
 public InstallTracker(
     VehicleId vehicleId,
     TrackerId trackerId,
     DateTimeOffset installedAt,
     string?installedBy = null
     )
 {
     VehicleId   = vehicleId;
     TrackerId   = trackerId;
     InstalledAt = installedAt;
     InstalledBy = installedBy;
 }
Esempio n. 7
0
        Uri CreateAnnounceString(AnnounceParameters parameters)
        {
            var b = new UriQueryBuilder(Uri);

            b.Add("info_hash", parameters.InfoHash.UrlEncode())
            .Add("peer_id", parameters.PeerId.UrlEncode())
            .Add("port", parameters.Port)
            .Add("uploaded", parameters.BytesUploaded)
            .Add("downloaded", parameters.BytesDownloaded)
            .Add("left", parameters.BytesLeft)
            .Add("compact", 1)
            .Add("numwant", 100);

            if (parameters.SupportsEncryption)
            {
                b.Add("supportcrypto", 1);
            }
            if (parameters.RequireEncryption)
            {
                b.Add("requirecrypto", 1);
            }
            if (!b.Contains("key") && Key != null)
            {
                b.Add("key", Key.UrlEncode());
            }
            if (!string.IsNullOrEmpty(parameters.IPAddress))
            {
                b.Add("ip", parameters.IPAddress);
            }

            // If we have not successfully sent the started event to this tier, override the passed in started event
            // Otherwise append the event if it is not "none"
            //if (!parameters.Id.Tracker.Tier.SentStartedEvent)
            //{
            //    sb.Append("&event=started");
            //    parameters.Id.Tracker.Tier.SendingStartedEvent = true;
            //}
            if (parameters.ClientEvent != TorrentEvent.None)
            {
                b.Add("event", parameters.ClientEvent.ToString().ToLower());
            }

            if (!BEncodedString.IsNullOrEmpty(TrackerId))
            {
                b.Add("trackerid", TrackerId.UrlEncode());
            }

            return(b.ToUri());
        }
        public TrackerInstalled(
            VehicleId vehicleId,
            TrackerId trackerId,
            string trackerSerialNumber,
            string?trackerBrand,
            string?trackerModel)
        {
            VehicleId           = vehicleId;
            TrackerId           = trackerId;
            TrackerSerialNumber = trackerSerialNumber;
            TrackerBrand        = trackerBrand;
            TrackerModel        = trackerModel;

            GlobalSequenceNumber = DateTimeOffset.UtcNow;
        }
Esempio n. 9
0
 protected DeviceEvent(TrackerId trackerId, DateTimeOffset timeStamp)
 {
     TrackerId = trackerId;
     TimeStamp = timeStamp;
 }
Esempio n. 10
0
 public AnalogSensorEvent(TrackerId trackerId, DateTimeOffset timeStamp,
                          int channel, float value)
     : base(trackerId, timeStamp)
 {
     Value = new SensorData <float>(channel, value);
 }
Esempio n. 11
0
 public DigitalSensorEvent(TrackerId trackerId, DateTimeOffset timeStamp,
                           int channel, bool value)
     : base(trackerId, timeStamp)
 {
     Value = new SensorData <bool>(channel, value);
 }
Esempio n. 12
0
 public TerminateTracker(TrackerId id, DateTimeOffset effectiveAt)
 {
     Id          = id;
     EffectiveAt = effectiveAt;
 }