Fix a few for Example, Example1
This commit is contained in:
parent
a0ca1882d8
commit
73cd2cefce
@ -12,20 +12,21 @@ namespace Example
|
|||||||
{
|
{
|
||||||
private volatile bool _enabled;
|
private volatile bool _enabled;
|
||||||
private Queue<NotificationMessage> _queue;
|
private Queue<NotificationMessage> _queue;
|
||||||
|
private object _sync;
|
||||||
private ManualResetEvent _waitHandle;
|
private ManualResetEvent _waitHandle;
|
||||||
|
|
||||||
public Notifier ()
|
public Notifier ()
|
||||||
{
|
{
|
||||||
_enabled = true;
|
_enabled = true;
|
||||||
_queue = new Queue<NotificationMessage> ();
|
_queue = new Queue<NotificationMessage> ();
|
||||||
|
_sync = ((ICollection) _queue).SyncRoot;
|
||||||
_waitHandle = new ManualResetEvent (false);
|
_waitHandle = new ManualResetEvent (false);
|
||||||
|
|
||||||
ThreadPool.QueueUserWorkItem (
|
ThreadPool.QueueUserWorkItem (
|
||||||
state => {
|
state => {
|
||||||
while (_enabled || Count > 0) {
|
while (_enabled || Count > 0) {
|
||||||
Thread.Sleep (500);
|
|
||||||
if (Count > 0) {
|
|
||||||
var msg = dequeue ();
|
var msg = dequeue ();
|
||||||
|
if (msg != null) {
|
||||||
#if UBUNTU
|
#if UBUNTU
|
||||||
var nf = new Notification (msg.Summary, msg.Body, msg.Icon);
|
var nf = new Notification (msg.Summary, msg.Body, msg.Icon);
|
||||||
nf.AddHint ("append", "allowed");
|
nf.AddHint ("append", "allowed");
|
||||||
@ -34,6 +35,8 @@ namespace Example
|
|||||||
Console.WriteLine (msg);
|
Console.WriteLine (msg);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
Thread.Sleep (500);
|
||||||
}
|
}
|
||||||
|
|
||||||
_waitHandle.Set ();
|
_waitHandle.Set ();
|
||||||
@ -42,7 +45,7 @@ namespace Example
|
|||||||
|
|
||||||
public int Count {
|
public int Count {
|
||||||
get {
|
get {
|
||||||
lock (((ICollection) _queue).SyncRoot) {
|
lock (_sync) {
|
||||||
return _queue.Count;
|
return _queue.Count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -50,8 +53,10 @@ namespace Example
|
|||||||
|
|
||||||
private NotificationMessage dequeue ()
|
private NotificationMessage dequeue ()
|
||||||
{
|
{
|
||||||
lock (((ICollection) _queue).SyncRoot) {
|
lock (_sync) {
|
||||||
return _queue.Dequeue ();
|
return _queue.Count > 0
|
||||||
|
? _queue.Dequeue ()
|
||||||
|
: null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,7 +69,7 @@ namespace Example
|
|||||||
|
|
||||||
public void Notify (NotificationMessage message)
|
public void Notify (NotificationMessage message)
|
||||||
{
|
{
|
||||||
lock (((ICollection) _queue).SyncRoot) {
|
lock (_sync) {
|
||||||
if (_enabled)
|
if (_enabled)
|
||||||
_queue.Enqueue (message);
|
_queue.Enqueue (message);
|
||||||
}
|
}
|
||||||
|
@ -12,20 +12,21 @@ namespace Example1
|
|||||||
{
|
{
|
||||||
private volatile bool _enabled;
|
private volatile bool _enabled;
|
||||||
private Queue<NotificationMessage> _queue;
|
private Queue<NotificationMessage> _queue;
|
||||||
|
private object _sync;
|
||||||
private ManualResetEvent _waitHandle;
|
private ManualResetEvent _waitHandle;
|
||||||
|
|
||||||
public Notifier ()
|
public Notifier ()
|
||||||
{
|
{
|
||||||
_enabled = true;
|
_enabled = true;
|
||||||
_queue = new Queue<NotificationMessage> ();
|
_queue = new Queue<NotificationMessage> ();
|
||||||
|
_sync = ((ICollection) _queue).SyncRoot;
|
||||||
_waitHandle = new ManualResetEvent (false);
|
_waitHandle = new ManualResetEvent (false);
|
||||||
|
|
||||||
ThreadPool.QueueUserWorkItem (
|
ThreadPool.QueueUserWorkItem (
|
||||||
state => {
|
state => {
|
||||||
while (_enabled || Count > 0) {
|
while (_enabled || Count > 0) {
|
||||||
Thread.Sleep (500);
|
|
||||||
if (Count > 0) {
|
|
||||||
var msg = dequeue ();
|
var msg = dequeue ();
|
||||||
|
if (msg != null) {
|
||||||
#if UBUNTU
|
#if UBUNTU
|
||||||
var nf = new Notification (msg.Summary, msg.Body, msg.Icon);
|
var nf = new Notification (msg.Summary, msg.Body, msg.Icon);
|
||||||
nf.AddHint ("append", "allowed");
|
nf.AddHint ("append", "allowed");
|
||||||
@ -34,6 +35,8 @@ namespace Example1
|
|||||||
Console.WriteLine (msg);
|
Console.WriteLine (msg);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
Thread.Sleep (500);
|
||||||
}
|
}
|
||||||
|
|
||||||
_waitHandle.Set ();
|
_waitHandle.Set ();
|
||||||
@ -42,7 +45,7 @@ namespace Example1
|
|||||||
|
|
||||||
public int Count {
|
public int Count {
|
||||||
get {
|
get {
|
||||||
lock (((ICollection) _queue).SyncRoot) {
|
lock (_sync) {
|
||||||
return _queue.Count;
|
return _queue.Count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -50,8 +53,10 @@ namespace Example1
|
|||||||
|
|
||||||
private NotificationMessage dequeue ()
|
private NotificationMessage dequeue ()
|
||||||
{
|
{
|
||||||
lock (((ICollection) _queue).SyncRoot) {
|
lock (_sync) {
|
||||||
return _queue.Dequeue ();
|
return _queue.Count > 0
|
||||||
|
? _queue.Dequeue ()
|
||||||
|
: null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,7 +69,7 @@ namespace Example1
|
|||||||
|
|
||||||
public void Notify (NotificationMessage message)
|
public void Notify (NotificationMessage message)
|
||||||
{
|
{
|
||||||
lock (((ICollection) _queue).SyncRoot) {
|
lock (_sync) {
|
||||||
if (_enabled)
|
if (_enabled)
|
||||||
_queue.Enqueue (message);
|
_queue.Enqueue (message);
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,6 @@ namespace Example1
|
|||||||
while (name.Length == 0);
|
while (name.Length == 0);
|
||||||
|
|
||||||
streamer.Connect (name);
|
streamer.Connect (name);
|
||||||
|
|
||||||
Console.WriteLine ("\nType \"exit\" to exit.\n");
|
Console.WriteLine ("\nType \"exit\" to exit.\n");
|
||||||
while (true) {
|
while (true) {
|
||||||
Thread.Sleep (1000);
|
Thread.Sleep (1000);
|
||||||
|
Loading…
Reference in New Issue
Block a user