Guitar
Classes | Signals | Public Member Functions | Private Attributes | List of all members
CommitDetailGetter Class Reference

#include <CommitDetailGetter.h>

Inheritance diagram for CommitDetailGetter:
Inheritance graph
[legend]
Collaboration diagram for CommitDetailGetter:
Collaboration graph
[legend]

Classes

struct  Data
 
struct  Request
 

Signals

void ready ()
 

Public Member Functions

 CommitDetailGetter ()=default
 
virtual ~CommitDetailGetter ()
 
void start (GitPtr git)
 CommitDetailGetter::start. More...
 
void stop ()
 CommitDetailGetter::stop. More...
 
Data query (const Git::CommitID &id, bool request_if_not_found, bool lock)
 CommitDetailGetter::query. More...
 

Private Attributes

std::mutex mutex_
 
std::condition_variable condition_
 
std::vector< std::thread > threads_
 
bool interrupted_ = false
 
GitPtr git_
 
std::vector< Requestrequests_
 
std::map< Git::CommitID, Datacache_
 

Constructor & Destructor Documentation

◆ CommitDetailGetter()

CommitDetailGetter::CommitDetailGetter ( )
default

◆ ~CommitDetailGetter()

CommitDetailGetter::~CommitDetailGetter ( )
virtual
Here is the call graph for this function:

Member Function Documentation

◆ query()

CommitDetailGetter::Data CommitDetailGetter::query ( const Git::CommitID id,
bool  request_if_not_found,
bool  lock 
)

CommitDetailGetter::query.

Parameters
id
request_if_not_found
lock
Returns

コミットの詳細情報を取得する 情報が存在しない場合はリクエスト予約を行う

◆ ready

void CommitDetailGetter::ready ( )
signal

◆ start()

void CommitDetailGetter::start ( GitPtr  git)

CommitDetailGetter::start.

Parameters
gitコミットの詳細情報を取得するためのスレッドを開始する
Here is the call graph for this function:

◆ stop()

void CommitDetailGetter::stop ( )

CommitDetailGetter::stop.

スレッドを停止する

Member Data Documentation

◆ cache_

std::map<Git::CommitID, Data> CommitDetailGetter::cache_
private

◆ condition_

std::condition_variable CommitDetailGetter::condition_
private

◆ git_

GitPtr CommitDetailGetter::git_
private

◆ interrupted_

bool CommitDetailGetter::interrupted_ = false
private

◆ mutex_

std::mutex CommitDetailGetter::mutex_
private

◆ requests_

std::vector<Request> CommitDetailGetter::requests_
private

◆ threads_

std::vector<std::thread> CommitDetailGetter::threads_
private

The documentation for this class was generated from the following files: