📄 inboxwatcher.cs
字号:
/*
* Easy Messaging Gateway (SMS/MMS/Mail) - Easy to use SMS/MMS Messaging Gateway
* to develop Content Delivery Platforms by GSM Operators,Content Providers
* and even non-telecom guys.
*
* Uses file system for data flow. Protocol level is based on Easy SMPP and Easy MM7 projects.
*
* Written for .NET 2.0 in C#
* Copyright (C) 2006 Balan Andrei, http://balan.name
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.gnu.org/licenses/lgpl.html
*
* For further information visit:
* http://easymessaging.sf.net/
*
*
* "Support Open Source software. What about a donation today?"
*
*
* File Name: InboxWatcher.cs
*
* File Authors:
* Egoricev Serghei, egoricev@users.sourceforge.net
* Balan Name, http://balan.name
*/
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace EasyMessaging.SmsGateway
{
class InboxWatcher
{
private FileSystemWatcher fsWatcher;
private SmsDispatcher smsDispatcher;
public InboxWatcher(SmsDispatcher smsDispatcher)
{
this.smsDispatcher = smsDispatcher;
}
public void Start()
{
Console.WriteLine("Inbox monitor is starting...");
try
{
createDirectoryStructure();
string inboxPath = Path.Combine(Path.GetFullPath(Settings.Default.toSmsc), "inbox");
fsWatcher = new FileSystemWatcher(inboxPath);
fsWatcher.Changed += new FileSystemEventHandler(fsWatcher_Changed);
fsWatcher.EnableRaisingEvents = true;
Console.WriteLine("Will keep my eye on " + inboxPath);
} // try
catch (Exception ex)
{
Console.WriteLine(ex);
} // catch
Console.WriteLine("Inbox monitor started.");
}
private void createDirectoryStructure()
{
if (!Directory.Exists(Path.Combine(Path.GetFullPath(Settings.Default.toSmsc), "inbox")))
Directory.CreateDirectory(Path.Combine(Path.GetFullPath(Settings.Default.toSmsc), "inbox"));
if (!Directory.Exists(Path.Combine(Path.GetFullPath(Settings.Default.toSmsc), "sent")))
Directory.CreateDirectory(Path.Combine(Path.GetFullPath(Settings.Default.toSmsc), "sent"));
if (!Directory.Exists(Path.Combine(Path.GetFullPath(Settings.Default.toSmsc), "bad")))
Directory.CreateDirectory(Path.Combine(Path.GetFullPath(Settings.Default.toSmsc), "bad"));
if (!Directory.Exists(Path.Combine(Path.GetFullPath(Settings.Default.fromSmsc), "inbox")))
Directory.CreateDirectory(Path.Combine(Path.GetFullPath(Settings.Default.fromSmsc), "inbox"));
if (!Directory.Exists(Path.Combine(Path.GetFullPath(Settings.Default.fromSmsc), "sent")))
Directory.CreateDirectory(Path.Combine(Path.GetFullPath(Settings.Default.fromSmsc), "sent"));
if (!Directory.Exists(Path.Combine(Path.GetFullPath(Settings.Default.fromSmsc), "bad")))
Directory.CreateDirectory(Path.Combine(Path.GetFullPath(Settings.Default.fromSmsc), "bad"));
}
void fsWatcher_Changed(object sender, FileSystemEventArgs e)
{
smsDispatcher.Wake();
}
public void Stop()
{
fsWatcher.EnableRaisingEvents = false;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -