Пример #1
0
FileBundle::ListPtr 
FileBundle::filter_bundles(const fwk::FileList::Ptr & files)
{
    FileBundle::ListPtr bundles(new FileBundle::List());
    FileBundle::Ptr current_bundle;
    std::string current_base;

    files->sort();

    std::for_each(files->cbegin(), files->cend(),
                  [&current_base, &bundles, &current_bundle]
                  (const std::string & f) {
                      std::string basename = fwk::path_stem(f);

                      if(basename != current_base) {
                          FileBundle::Ptr new_bundle(new FileBundle());
                          if(new_bundle->add(f)) {
                              bundles->push_back(new_bundle);
                              current_bundle = new_bundle;
                              current_base = basename;
                          }
                      }
                      else {
                          current_bundle->add(f);
                      }
                  }
        );

    return bundles;
}
Пример #2
0
//-------------------------------------------------------------------------------------
bool Witness::sendToClient(const Mercury::MessageHandler& msgHandler, Mercury::Bundle* pBundle)
{
	bundles().push_back(pBundle);
	return true;
}