The POCO C++ Libraries Blog

Archive: July, 2007


Filed under: News by peter at 12:30

I’m currently in the process of pocofying libssh so that it integrates nicely with the current networking library. Progress so far is good, secure copy and SSH terminal are already supported (SFTP will be pushed back for the moment, NetConf over SSH has more priority currently).

Take a look at the following examples to get a first impression of the interface and the use of the library. The first example uploads a file via SCP and then reads it back:

using namespace Poco::SSH;

DummyValidator val; //auto-accepts all servers, for testing only
Poco::Net::SocketAddress addr(SERVER, 22);
Poco::AutoPtr<SSHSession> ptrSes = new SSHSession(val, addr, USER, PWD);
Poco::File locFile(“dummy.file”);
Poco::Path remFile(“/tmp/dummy.file”);
std::ifstream in(“dummy.file”, std::ios::binary);
poco_assert (in);

// now write the file
SCPOutputStream out(*ptrSes, locFile, remFile);
Poco::StreamCopier::copyStream(in, out);
out << std::flush;

// read it back
SCPInputStream in(*ptrSes, remFile);
Poco::StreamCopier::copyStream(in, std::cout);
The second example opens a shell at the server and executes a command:

DummyValidator val;
Poco::Net::SocketAddress addr(SERVER, 22);
Poco::AutoPtr ptrSes = new SSHSession(val, addr, USER, PWD);
SSHTerminal term(*ptrSes);
SSHChannel channel = term.openShell();
SSHChannelOutputStream out(channel);
SSHChannelInputStream in(channel);
out << "ls -al\n";
out << std::flush;
// simplified: read only one line
std::string txt;
std::getline(in, txt);

Intel TBB goes Open Source

Filed under: News by alex at 13:33

Intel has open sourced (GPL2) the Threading Building Blocks – a library for for multi-core parallelism support.
An interesting quote from A. Stepanov (found in the interview with J. Erickson of Intel) captured my attention: “Threading Building Blocks… could become a basis for the concurrency dimension of the C++ standard library.” Coming from someone of Stepanov caliber, such a statement has weight. It may be too late in the process for C++09, but his proposals are known to make it in last minute and then work extremely well for years ;-).

Not surprisingly, Erickson points out two frequent request they get from (potential) users:

  • Make it available on more operating systems, more processors, and all C++ compilers.
  • The need to be comfortable that TBB will be available forever.

Ten Reasons For POCO

Filed under: News by guenter at 16:40

Find them here. Mostly based on feedback I got from POCO users I’ve talked to.

Happy Birthday POCO Community

Filed under: Uncategorized by guenter at 23:12

Today is the first birthday of the POCO Community Website. On July 11, 2006, the first post appeared on this blog. Happy birthday, and a big Thank You to everyone who contributed to POCO in the last twelve months.

BTW, I’m writing this from Dallas Ft. Worth Airport, waiting for my connecting flight to San Jose.

Birthday Cake

PocoWebWidgets – We need your help!

Filed under: News by peter at 13:18

Hi all,
A first draft of PocoWebWidgets was submitted to SVN. PocoWebWidgets is a GUI library for Web based applications and this very first version features the following GUI elements:

  • Buttons, ImageButtons, RadioButtons
  • CheckBoxes, ComboBoxes
  • Tables
  • TextArea, TextFields, PwdFields
  • Image
  • HidablePanel
  • ListView
  • To align widgets one can use a Stackpanel, a FlowPanel or a Table.

    Each widget offers a list of events to which JavaScript callbacks and standard C++ callbacks can be added. Widgets are creatable from XML files. Detailed information can be found in the doc folder.

    PocoWebWidgets is not finished. We need the help of the open-source community – your help – to let it evolve into a complete and beautiful library. A list of the open points can be found here.

    If you feel you can help, don’t hesitate! PocoWebWidgets needs your input!