inline void OnScreensaverActivated() { TRACE; invokeCallback(new CallbackFunction<Monitor>(this,&Monitor::onScreensaverActivated)); }
inline void OnScreensaverDeactivated() { TRACE; invokeCallback(new CallbackFunction<Monitor>(this,&Monitor::onScreensaverDeactivated)); }
inline void OnDatabaseUpdated(const String &database) { TRACE; invokeCallback(new CallbackFunction<Monitor,const String>(this,&Monitor::onDatabaseUpdated,database)); }
+ inline void OnDatabaseScanStarted(const String &database) { TRACE; invokeCallback(new CallbackFunction<Monitor,const String>(this,&Monitor::onDatabaseScanStarted,database)); }
inline void OnAbortRequested() { TRACE; invokeCallback(new CallbackFunction<Monitor>(this,&Monitor::onAbortRequested)); }
#endif
virtual void onDatabaseUpdated(const String database) { TRACE; }
/**
+ * onDatabaseScanStarted(database) -- onDatabaseScanStarted method.
+ *
+ * database - video/music as string
+ *
+ * Will be called when database update starts and return video or music to indicate which DB is being updated
+ */
+ virtual void onDatabaseScanStarted(const String database) { TRACE; }
+
+ /**
* onAbortRequested() -- onAbortRequested method.
*
* Will be called when XBMC requests Abort
{
if (strcmp(message, "OnScanFinished") == 0)
OnDatabaseUpdated("video");
+ else if (strcmp(message, "OnScanStarted") == 0)
+ OnDatabaseScanStarted("video");
}
else if (flag & AudioLibrary)
{
if (strcmp(message, "OnScanFinished") == 0)
OnDatabaseUpdated("music");
+ else if (strcmp(message, "OnScanStarted") == 0)
+ OnDatabaseScanStarted("music");
}
else if (flag & GUI)
{
}
}
+void XBPython::OnDatabaseScanStarted(const std::string &database)
+{
+ TRACE;
+ CSingleLock lock(m_critSection);
+ if (m_bInitialized)
+ {
+ MonitorCallbackList::iterator it = m_vecMonitorCallbackList.begin();
+ while (it != m_vecMonitorCallbackList.end())
+ {
+ ((XBMCAddon::xbmc::Monitor*)(*it))->OnDatabaseScanStarted(database);
+ it++;
+ }
+ }
+}
+
void XBPython::OnAbortRequested(const CStdString &ID)
{
TRACE;
void OnScreensaverActivated();
void OnScreensaverDeactivated();
void OnDatabaseUpdated(const std::string &database);
+ void OnDatabaseScanStarted(const std::string &database);
void OnAbortRequested(const CStdString &ID="");
void Initialize();
void FinalizeScript();