diff --git a/daemon/notify-i.h b/daemon/notify-i.h
new file mode 100644
index 0000000..7afb0dd
--- /dev/null
+++ b/daemon/notify-i.h
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
+/*
+ * Copyright (c) 2013 University of California, Los Angeles
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ *	   Zhenkai Zhu <zhenkai@cs.ucla.edu>
+ */
+
+#ifndef NOTIFY_I_H
+#define NOTIFY_I_H
+
+#include <chronoshare-client.ice.h>
+
+class NotifyI : public ChronoshareClient::Notify
+{
+public:
+  virtual void
+  updateFile (const ::std::string &filename,
+              const ::ChronoshareClient::HashBytes &hash,
+              const ::std::string &atime,
+              const ::std::string &mtime,
+              const ::std::string &ctime,
+              ::Ice::Int mode,
+              const ::Ice::Current& = ::Ice::Current());
+
+  virtual void
+  deleteFile (const ::std::string &filename,
+              const ::Ice::Current& = ::Ice::Current());
+
+};
+
+#endif // NOTIFY_I_H
