@eknori, @Oxse:
int main(int argc, char *argv[])
{ LNNotesSession Session;
LNServerAddin Addin;
LNDatabaseArray DBArray;
LNDatabase Database;
LNAgentArray AgentArray;
LNAgent Agent;
LNString Ausgabe, buffer, taskname, Name;
int AgentCount;
LNMessageQueue mqueue;
int ProgramStatus = 0;
int a,b;
LNSetThrowAllErrors(TRUE);
try
{ Session.Init(argc, argv);
Session.GetServerAddin("MyTask","MyTask", &Addin);
Addin.AppendLogMessage("MyTask gestartet");
taskname = Addin.GetDefaultStatusLineTaskName();
buffer = TASK_QUEUE_PREFIX;
buffer.Append(taskname);
Session.CreateMessageQueue( buffer, &mqueue);
while (!Addin.Idle())
{ if (Addin.HaveSecondsElapsed(600) )
{ try
{ Session.GetDatabases( &DBArray, "", "", LNGETDBFLAGS_DATABASES + /*LNGETDBFLAGS_TEMPLATES +*/ LNGETDBFLAGS_RECURSE);
Ausgabe = "MyTask: ";
Ausgabe += LNString(DBArray.GetCount());
Ausgabe += (" Datenbanken gefunden");
Addin.AppendLogMessage(Ausgabe);
AgentCount = 0;
// alle DBs auslesen
for (a=0;a<int(DBArray.GetCount());a++)
{ Database = DBArray.operator[]( a );
Database.Open();
Database.GetAgents( &AgentArray, TRUE );
Addin.AppendLogMessage(Database.GetTitle());
if (AgentArray.GetCount() > 0)
{ for (b=0;b<int(AgentArray.GetCount());b++)
{ Agent = AgentArray.operator [] (b);
Agent.Open();
if (Agent.GetIsEnabled())
{ Name = " ---> ";
Name += Agent.GetName();
Addin.AppendLogMessage(Name);
AgentCount++;
//MyArray[0].AgentName = Agent.GetName();
}
Agent.Close();
//Agent.~LNAgent();
}
}
AgentArray.~LNAgentArray();
Database.Close();
Database.~LNDatabase();
}
Ausgabe = "MyTask: Suche beendet (";
Ausgabe += LNString(AgentCount);
Ausgabe += " aktive Agenten gefunden)";
Addin.AppendLogMessage(Ausgabe);
DBArray.~LNDatabaseArray();
}
catch (LNSTATUS lnerror)
{ char ErrorBuf[LNERROR_MESSAGE_LENGTH];
LNString errormessage;
LNGetErrorMessage(lnerror, ErrorBuf, LNERROR_MESSAGE_LENGTH);
errormessage = "dbbAdmin -> Fehler: ";
errormessage.Append(ErrorBuf);
Addin.AppendLogMessage(errormessage);
}
}
}
}
catch (LNSTATUS lnerror)
{ ProgramStatus = 1;
Ausgabe = "MyTask: Es ist ein Fehler aufgetreten - ";
Ausgabe.Append(lnerror);
Addin.AppendLogMessage(Ausgabe);
}
if (Addin.ShouldAddinTerminate())
{
}
Addin.AppendLogMessage("ddbAdmin beendet");
Session.Term();
return(ProgramStatus);
Des weiteren weiß ich auch nicht, wie ich einen TELL-Befehl auf meinen Task ausführen kann. Vielleicht habt ihr ja auch dazu einen Hinweis.
Vielen Dank