public ServerController()
 {
     CameraHeartbeat += async f => { await Task.Yield(); };
     _cameras = new ConcurrentDictionary<string, RemoteCameraModel>(StringComparer.OrdinalIgnoreCase);
     _ping = new PingUtility(50123);
     _sender = new CommandSender();
     _listener = new CommandListener();
     _listener.RegisterHandler<ReportingCommand, RemoteCameraModel>(HandleReporting);
     _uploader = new UploadListener();
     _heartbeat = new HeartBeatListener();
     _heartbeat.DataRecieved += async f => { await CameraHeartbeat(f); };
 }
Example #2
0
 public ServerController()
 {
     CameraHeartbeat += async f => { await Task.Yield(); };
     _cameras         = new ConcurrentDictionary <string, RemoteCameraModel>(StringComparer.OrdinalIgnoreCase);
     _ping            = new PingUtility(50123);
     _sender          = new CommandSender();
     _listener        = new CommandListener();
     _listener.RegisterHandler <ReportingCommand, RemoteCameraModel>(HandleReporting);
     _uploader  = new UploadListener();
     _heartbeat = new HeartBeatListener();
     _heartbeat.DataRecieved += async f => { await CameraHeartbeat(f); };
 }
        /// <summary>
        /// Encapsulate Card into a single file for uploading and sharing to Firebase
        /// </summary>
        private void uploadCardMedia(StorageReference sr_cardMedias, Card card)
        {
            // Upload media to cloud
            foreach (AbMediaContent media in card.mediaList)
            {
                string           mediaFileName   = Path.GetFileName(media.filePath);
                StorageReference sr_curCardMedia = sr_cardMedias.Child(mediaFileName);

                FileStream fs = new FileStream(media.filePath, FileMode.Open);

                //StorageMetadata metadata = new StorageMetadata.Builder()
                //    .SetCustomMetadata("MediaContentType", media.mediaType.ToString()).Build();

                UploadTask uploadTask = sr_curCardMedia.PutStream(fs);

                UploadListener uploadListener = new UploadListener(fs);
                uploadTask.AddOnFailureListener(uploadListener);
                uploadTask.AddOnSuccessListener(uploadListener);
            }

            // TODO add upload failure and success handling?
        }