本文整理汇总了C++中id函数的典型用法代码示例。如果您正苦于以下问题:C++ id函数的具体用法?C++ id怎么用?C++ id使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了id函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setId
void Package::setId(const QString &i) {
if (i != id()) {
m_id = i;
emit dataChanged(this, IdRole);
}
}
示例2:
void Texture2::destroy(){
if(id()){
glDeleteTextures(1, &mID);
mID = 0;
}
}
示例3: MakeTOFResMisAlignment
void MakeTOFResMisAlignment() {
//
// Create TClonesArray of residual misalignment objects for TOF
//
const char* macroname = "MakeTOFResMisAlignment.C";
TClonesArray *array = new TClonesArray("AliAlignObjParams",2000);
TClonesArray &alobj = *array;
// Activate CDB storage and load geometry from CDB
AliCDBManager* cdb = AliCDBManager::Instance();
if (!cdb->IsDefaultStorageSet())
cdb->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
cdb->SetRun(0);
AliCDBStorage* storage;
TString Storage;
if( TString(gSystem->Getenv("TOCDB")) == TString("kTRUE") ){
Storage = gSystem->Getenv("STORAGE");
if (!Storage.BeginsWith("local://") && !Storage.BeginsWith("alien://")) {
Error(macroname,"STORAGE variable set to %s is not valid. Exiting\n",Storage.Data());
return;
}
storage = cdb->GetStorage(Storage.Data());
if (!storage) {
Error(macroname,"Unable to open storage %s\n",Storage.Data());
return;
}
AliCDBPath path("GRP","Geometry","Data");
AliCDBEntry *entry = storage->Get(path.GetPath(),cdb->GetRun());
if (!entry)
Fatal(macroname,"Could not get the specified CDB entry!");
entry->SetOwner(0);
TGeoManager* geom = (TGeoManager*) entry->GetObject();
AliGeomManager::SetGeometry(geom);
} else
AliGeomManager::LoadGeometry(); //load geom from default CDB storage
AliGeomManager::ELayerID idTOF = AliGeomManager::kTOF;
Int_t j=0;
Int_t nSectors=18;
//Produce objects for TOF supermodules
Int_t iIndex=0; //let all modules have index=0 in a layer with no LUT
AliGeomManager::ELayerID iLayer = AliGeomManager::kInvalidLayer;
UShort_t dvoluid = AliGeomManager::LayerToVolUID(iLayer,iIndex); //dummy vol id
Double_t smdx, smdy, smdz=0., dpsi=0., dtheta, dphi=0.;
for(Int_t isect=0; isect<nSectors; isect++) {
TString symname(Form("TOF/sm%02d",isect));
new(alobj[j++]) AliAlignObjParams(symname.Data(),
dvoluid,
smdx, smdy, smdz, dpsi, dtheta, dphi, kFALSE);
}
Int_t strId=-1;
Double_t dx=0., dy=0., dz=0., dpsi=0., dtheta=0., dphi=0.;
//TRandom *rnd = new TRandom(4357);
Double_t sigmatr = 0.1; // sigma (in cm) for shift w.r.t. local ideal RS
Int_t nstrA=15;
Int_t nstrB=19;
Int_t nstrC=19;
Int_t nStrips=nstrA+2*nstrB+2*nstrC;
Double_t cuty=0., cutz=0., cut=3*sigmatr;
for (Int_t isect = 0; isect < nSectors; isect++) {
for (Int_t istr = 1; istr <= nStrips; istr++) {
//dy = rnd->Gaus(0.,sigmatr);
//dz = rnd->Gaus(0.,sigmatr);
//strId++;
switch (istr) {
case 25:
case 29:
case 63:
case 67:
cuty = sigmatr*0.6;
dy = AliMathBase::TruncatedGaus(0., sigmatr, cut, cuty);
dz = AliMathBase::TruncatedGaus(0., sigmatr, cut);
strId++;
break;
/*
case 38:
cuty = sigmatr*2.5;
cutz = sigmatr*2.5;
dy = AliMathBase::TruncatedGaus(0., sigmatr, cut, cuty);
dz = AliMathBase::TruncatedGaus(0., sigmatr, cut, cutz);
strId++;
break;
case 54:
cuty = sigmatr*2.5;
cutz = sigmatr*2.5;
dy = AliMathBase::TruncatedGaus(0., sigmatr, cut, cuty);
dz = AliMathBase::TruncatedGaus(0., sigmatr, cutz, cut);
strId++;
break;
*/
//.........这里部分代码省略.........
示例4: Q_ASSERT
void KisLensBlurFilter::process(KisPaintDeviceSP device,
const QRect& rect,
const KisFilterConfiguration* config,
KoUpdater* progressUpdater
) const
{
QPoint srcTopLeft = rect.topLeft();
Q_ASSERT(device != 0);
if (!config) config = new KisFilterConfiguration(id().id(), 1);
QVariant value;
config->getProperty("irisShape", value);
QString irisShape = value.toString();
config->getProperty("irisRadius", value);
uint irisRadius = value.toUInt();
config->getProperty("irisRotation", value);
uint irisRotation = value.toUInt();
if (irisRadius < 1)
return;
QBitArray channelFlags;
if (config) {
channelFlags = config->channelFlags();
}
if (channelFlags.isEmpty() || !config) {
channelFlags = QBitArray(device->colorSpace()->channelCount(), true);
}
QPolygonF irisShapePoly;
int sides = 1;
qreal angle = 0;
if (irisShape == "Triangle") sides = 3;
else if (irisShape == "Quadrilateral (4)") sides = 4;
else if (irisShape == "Pentagon (5)") sides = 5;
else if (irisShape == "Hexagon (6)") sides = 6;
else if (irisShape == "Heptagon (7)") sides = 7;
else if (irisShape == "Octagon (8)") sides = 8;
else return;
for (int i = 0; i < sides; ++i) {
irisShapePoly << QPointF(0.5 * cos(angle), 0.5 * sin(angle));
angle += 2 * M_PI / sides;
}
QTransform transform;
transform.rotate(irisRotation);
transform.scale(irisRadius * 2, irisRadius * 2);
QPolygonF transformedIris;
for (int i = 0; i < irisShapePoly.count(); ++i) {
transformedIris << irisShapePoly[i] * transform;
}
// find extremes to determine kernel size required
qreal minX = 0, maxX = 0, minY = 0, maxY = 0;
for (int i = 0; i < transformedIris.count(); ++i) {
if (transformedIris[i].x() < minX) minX = transformedIris[i].x();
if (transformedIris[i].x() > maxX) maxX = transformedIris[i].x();
if (transformedIris[i].y() < minY) minY = transformedIris[i].y();
if (transformedIris[i].y() > maxY) maxY = transformedIris[i].y();
}
int kernelWidth = ceil(maxX) - ceil(minX);
int kernelHeight = ceil(maxY) - ceil(minY);
QImage kernelRepresentation(kernelWidth, kernelHeight, QImage::Format_RGB32);
kernelRepresentation.fill(0);
QPainter imagePainter(&kernelRepresentation);
imagePainter.setRenderHint(QPainter::Antialiasing);
imagePainter.setBrush(QColor::fromRgb(255, 255, 255));
QTransform offsetTransform;
offsetTransform.translate(-minX, -minY);
imagePainter.setTransform(offsetTransform);
imagePainter.drawPolygon(transformedIris, Qt::WindingFill);
// construct kernel from image
Matrix<qreal, Dynamic, Dynamic> irisKernel(kernelHeight, kernelWidth);
for (int j = 0; j < kernelHeight; ++j) {
for (int i = 0; i < kernelWidth; ++i) {
irisKernel(j, i) = qRed(kernelRepresentation.pixel(i, j));
}
}
// apply convolution
KisConvolutionPainter painter(device);
painter.setChannelFlags(channelFlags);
painter.setProgress(progressUpdater);
KisConvolutionKernelSP kernel = KisConvolutionKernel::fromMatrix(irisKernel, 0, irisKernel.sum());
painter.applyMatrix(kernel, device, srcTopLeft, srcTopLeft, rect.size(), BORDER_REPEAT);
}
示例5: M_backend
PreconditionerBlockMS<space_type>::PreconditionerBlockMS(space_ptrtype Xh, // (u)x(p)
ModelProperties model, // model
std::string const& p, // prefix
sparse_matrix_ptrtype AA ) // The matrix
:
M_backend(backend()), // the backend associated to the PC
M_Xh( Xh ),
M_Vh( Xh->template functionSpace<0>() ), // Potential
M_Qh( Xh->template functionSpace<1>() ), // Lagrange
M_Vh_indices( M_Vh->nLocalDofWithGhost() ),
M_Qh_indices( M_Qh->nLocalDofWithGhost() ),
M_uin( M_backend->newVector( M_Vh ) ),
M_uout( M_backend->newVector( M_Vh ) ),
M_pin( M_backend->newVector( M_Qh ) ),
M_pout( M_backend->newVector( M_Qh ) ),
U( M_Xh, "U" ),
M_mass(M_backend->newMatrix(M_Vh,M_Vh)),
M_L(M_backend->newMatrix(M_Qh,M_Qh)),
M_er( 1. ),
M_model( model ),
M_prefix( p ),
M_prefix_11( p+".11" ),
M_prefix_22( p+".22" ),
u(M_Vh, "u"),
ozz(M_Vh, "ozz"),
zoz(M_Vh, "zoz"),
zzo(M_Vh, "zzo"),
M_ozz(M_backend->newVector( M_Vh )),
M_zoz(M_backend->newVector( M_Vh )),
M_zzo(M_backend->newVector( M_Vh )),
X(M_Qh, "X"),
Y(M_Qh, "Y"),
Z(M_Qh, "Z"),
M_X(M_backend->newVector( M_Qh )),
M_Y(M_backend->newVector( M_Qh )),
M_Z(M_backend->newVector( M_Qh )),
phi(M_Qh, "phi")
{
tic();
LOG(INFO) << "[PreconditionerBlockMS] setup starts";
this->setMatrix( AA );
this->setName(M_prefix);
/* Indices are need to extract sub matrix */
std::iota( M_Vh_indices.begin(), M_Vh_indices.end(), 0 );
std::iota( M_Qh_indices.begin(), M_Qh_indices.end(), M_Vh->nLocalDofWithGhost() );
M_11 = AA->createSubMatrix( M_Vh_indices, M_Vh_indices, true, true);
/* Boundary conditions */
BoundaryConditions M_bc = M_model.boundaryConditions();
map_vector_field<FEELPP_DIM,1,2> m_dirichlet_u { M_bc.getVectorFields<FEELPP_DIM> ( "u", "Dirichlet" ) };
map_scalar_field<2> m_dirichlet_p { M_bc.getScalarFields<2> ( "phi", "Dirichlet" ) };
/* Compute the mass matrix (needed in first block, constant) */
auto f2A = form2(_test=M_Vh, _trial=M_Vh, _matrix=M_mass);
auto f1A = form1(_test=M_Vh);
f2A = integrate(_range=elements(M_Vh->mesh()), _expr=inner(idt(u),id(u))); // M
for(auto const & it : m_dirichlet_u )
{
LOG(INFO) << "Applying " << it.second << " on " << it.first << " for "<<M_prefix_11<<"\n";
f2A += on(_range=markedfaces(M_Vh->mesh(),it.first), _expr=it.second,_rhs=f1A, _element=u, _type="elimination_symmetric");
}
/* Compute the L (= er * grad grad) matrix (the second block) */
auto f2L = form2(_test=M_Qh,_trial=M_Qh, _matrix=M_L);
for(auto it : M_model.materials() )
{
f2L += integrate(_range=markedelements(M_Qh->mesh(),marker(it)), _expr=M_er*inner(gradt(phi), grad(phi)));
}
auto f1LQ = form1(_test=M_Qh);
for(auto const & it : m_dirichlet_p)
{
LOG(INFO) << "Applying " << it.second << " on " << it.first << " for "<<M_prefix_22<<"\n";
f2L += on(_range=markedfaces(M_Qh->mesh(),it.first),_element=phi, _expr=it.second, _rhs=f1LQ, _type="elimination_symmetric");
}
if(soption(_name="pc-type", _prefix=M_prefix_11) == "ams")
#if FEELPP_DIM == 3
{
M_grad = Grad( _domainSpace=M_Qh, _imageSpace=M_Vh);
// This preconditioner is linked to that backend : the backend will
// automatically use the preconditioner.
auto prec = preconditioner(_pc=pcTypeConvertStrToEnum(soption(M_prefix_11+".pc-type")),
_backend=backend(_name=M_prefix_11),
_prefix=M_prefix_11,
_matrix=M_11
);
prec->setMatrix(M_11);
prec->attachAuxiliarySparseMatrix("G",M_grad.matPtr());
if(boption(M_prefix_11+".useEdge"))
{
LOG(INFO) << "[ AMS ] : using SetConstantEdgeVector \n";
ozz.on(_range=elements(M_Vh->mesh()),_expr=vec(cst(1),cst(0),cst(0)));
zoz.on(_range=elements(M_Vh->mesh()),_expr=vec(cst(0),cst(1),cst(0)));
zzo.on(_range=elements(M_Vh->mesh()),_expr=vec(cst(0),cst(0),cst(1)));
*M_ozz = ozz; M_ozz->close();
//.........这里部分代码省略.........
示例6: MakeZDCFullMisAlignment
void MakeZDCFullMisAlignment(){
// Create TClonesArray of full misalignment objects for ZDC
//
const char* macroname = "MakeZDCFullMisAlignment.C";
TClonesArray *array = new TClonesArray("AliAlignObjParams",10);
TClonesArray &alobj = *array;
Double_t dx=0., dy=2., dz=0.;
Double_t dpsi=0., dtheta=0., dphi=0.;
const char *ZDCCn="ZDC/NeutronZDC_C";
const char *ZDCCp="ZDC/ProtonZDC_C";
const char *ZDCAn="ZDC/NeutronZDC_A";
const char *ZDCAp="ZDC/ProtonZDC_A";
Int_t iIndex=0; //let all modules have index=0 in a layer with no LUT
AliGeomManager::ELayerID iLayer = AliGeomManager::kInvalidLayer;
UShort_t volid = AliGeomManager::LayerToVolUID(iLayer,iIndex);
new(alobj[0]) AliAlignObjParams(ZDCCn, volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
new(alobj[1]) AliAlignObjParams(ZDCCp, volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
new(alobj[2]) AliAlignObjParams(ZDCAn, volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
new(alobj[3]) AliAlignObjParams(ZDCAp, volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
if( TString(gSystem->Getenv("TOCDB")) != TString("kTRUE") ){
// save in file
const char* filename = "ZDCfullMisalignment.root";
TFile f(filename,"RECREATE");
if(!f){
Error(macroname,"cannot open file for output\n");
return;
}
Info(macroname,"Saving alignment objects to the file %s", filename);
f.cd();
f.WriteObject(array,"ZDCAlignObjs","kSingleKey");
f.Close();
}else{
// save in CDB storage
TString Storage = gSystem->Getenv("STORAGE");
if(!Storage.BeginsWith("local://") && !Storage.BeginsWith("alien://")) {
Error(macroname,"STORAGE variable set to %s is not valid. Exiting\n",Storage.Data());
return;
}
Info(macroname,"Saving alignment objects in CDB storage %s",
Storage.Data());
AliCDBManager* cdb = AliCDBManager::Instance();
AliCDBStorage* storage = cdb->GetStorage(Storage.Data());
if(!storage){
Error(macroname,"Unable to open storage %s\n",Storage.Data());
return;
}
AliCDBMetaData* md = new AliCDBMetaData();
md->SetResponsible("Chiara Oppedisano");
md->SetComment("Alignment objects for ZDC full misalignment");
md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
AliCDBId id("ZDC/Align/Data",0,AliCDBRunRange::Infinity());
storage->Put(array,id,md);
}
array->Delete();
}
示例7: IFrameWindow
/******************************************************************************
* ASetCanvas :: ASetCanvas - Constructor for our main window *
******************************************************************************/
ASetCanvas::ASetCanvas(unsigned long windowId)
: IFrameWindow( windowId )
/*---------------------------------------------------------------------------|
| Create the ISplitCanvases |
----------------------------------------------------------------------------*/
, horzCanvas1( ID_HORIZCANVAS1, this, this )
, vertCanvas1( ID_VERTCANVAS1, &horzCanvas1, &horzCanvas1 )
, vertCanvas2( ID_VERTCANVAS2, &horzCanvas1, &horzCanvas1 )
, vertCanvas3( ID_VERTCANVAS3, &horzCanvas1, &horzCanvas1 )
/*---------------------------------------------------------------------------|
| Create the ISetCanvases |
----------------------------------------------------------------------------*/
, setCanvas1( ID_SETCANVAS1, &vertCanvas1, &vertCanvas1 )
, setCanvas2( ID_SETCANVAS2, &vertCanvas1, &vertCanvas1 )
, setCanvas3( ID_SETCANVAS3, &vertCanvas2, &vertCanvas2 )
, setCanvas4( ID_SETCANVAS4, &vertCanvas2, &vertCanvas2 )
, setCanvas5( ID_SETCANVAS5, &vertCanvas3, &vertCanvas3 )
, setCanvas6( ID_SETCANVAS6, &vertCanvas3, &vertCanvas3 )
/*---------------------------------------------------------------------------|
| Create the radio buttons for each ISetCanvases |
----------------------------------------------------------------------------*/
, vRadioGroup1( ID_VRADIO, &setCanvas1, 5, AButtons::vertical )
, vRadioGroup2( ID_VRADIO + 5, &setCanvas3, 6, AButtons::vertical )
, vRadioGroup3( ID_VRADIO + 11, &setCanvas5, 7, AButtons::vertical )
, hRadioGroup1( ID_HRADIO, &setCanvas2, 5, AButtons::horizontal )
, hRadioGroup2( ID_HRADIO + 5, &setCanvas4, 6, AButtons::horizontal )
, hRadioGroup3( ID_HRADIO + 11, &setCanvas6, 7, AButtons::horizontal )
{
/*-----------------------------------------------------------------------------|
| Set the icon for the main window and make the split canvas the client area |
------------------------------------------------------------------------------*/
setIcon( id() );
setClient( &horzCanvas1 );
/*-----------------------------------------------------------------------------|
| Set the split canvas orientation |
------------------------------------------------------------------------------*/
horzCanvas1.setOrientation( ISplitCanvas::horizontalSplit );
vertCanvas1.setOrientation( ISplitCanvas::verticalSplit );
vertCanvas2.setOrientation( ISplitCanvas::verticalSplit );
vertCanvas3.setOrientation( ISplitCanvas::verticalSplit );
/*-----------------------------------------------------------------------------|
| Set three ISetCanvases to have 3 vertical decks |
------------------------------------------------------------------------------*/
setCanvas1.setDeckOrientation( ISetCanvas::vertical );
setCanvas3.setDeckOrientation( ISetCanvas::vertical );
setCanvas5.setDeckOrientation( ISetCanvas::vertical );
/*-----------------------------------------------------------------------------|
| Set three ISetCanvases to have 3 horizontal decks |
------------------------------------------------------------------------------*/
setCanvas2.setDeckOrientation( ISetCanvas::horizontal );
setCanvas4.setDeckOrientation( ISetCanvas::horizontal );
setCanvas6.setDeckOrientation( ISetCanvas::horizontal );
/*-----------------------------------------------------------------------------|
| Set each ISetCanvases to have 3 decks |
------------------------------------------------------------------------------*/
setCanvas1.setDeckCount( 3 );
setCanvas2.setDeckCount( 3 );
setCanvas3.setDeckCount( 3 );
setCanvas4.setDeckCount( 3 );
setCanvas5.setDeckCount( 3 );
setCanvas6.setDeckCount( 3 );
show();
} /* end ASetCanvas :: ASetCanvas */
示例8: AMessage
status_t WifiDisplaySource::resume() {
sp<AMessage> msg = new AMessage(kWhatResume, id());
sp<AMessage> response;
return PostAndAwaitResponse(msg, &response);
}
示例9: switch
void WifiDisplaySource::onMessageReceived(const sp<AMessage> &msg) {
switch (msg->what()) {
case kWhatStart:
{
uint32_t replyID;
CHECK(msg->senderAwaitsResponse(&replyID));
AString iface;
CHECK(msg->findString("iface", &iface));
status_t err = OK;
ssize_t colonPos = iface.find(":");
unsigned long port;
if (colonPos >= 0) {
const char *s = iface.c_str() + colonPos + 1;
char *end;
port = strtoul(s, &end, 10);
if (end == s || *end != '\0' || port > 65535) {
err = -EINVAL;
} else {
iface.erase(colonPos, iface.size() - colonPos);
}
} else {
port = kWifiDisplayDefaultPort;
}
if (err == OK) {
if (inet_aton(iface.c_str(), &mInterfaceAddr) != 0) {
sp<AMessage> notify = new AMessage(kWhatRTSPNotify, id());
err = mNetSession->createRTSPServer(
mInterfaceAddr, port, notify, &mSessionID);
} else {
err = -EINVAL;
}
}
mState = AWAITING_CLIENT_CONNECTION;
sp<AMessage> response = new AMessage;
response->setInt32("err", err);
response->postReply(replyID);
break;
}
case kWhatRTSPNotify:
{
int32_t reason;
CHECK(msg->findInt32("reason", &reason));
switch (reason) {
case ANetworkSession::kWhatError:
{
int32_t sessionID;
CHECK(msg->findInt32("sessionID", &sessionID));
int32_t err;
CHECK(msg->findInt32("err", &err));
AString detail;
CHECK(msg->findString("detail", &detail));
ALOGE("An error occurred in session %d (%d, '%s/%s').",
sessionID,
err,
detail.c_str(),
strerror(-err));
mNetSession->destroySession(sessionID);
if (sessionID == mClientSessionID) {
mClientSessionID = 0;
mClient->onDisplayError(
IRemoteDisplayClient::kDisplayErrorUnknown);
}
break;
}
case ANetworkSession::kWhatClientConnected:
{
int32_t sessionID;
CHECK(msg->findInt32("sessionID", &sessionID));
if (mClientSessionID > 0) {
ALOGW("A client tried to connect, but we already "
"have one.");
mNetSession->destroySession(sessionID);
break;
}
CHECK_EQ(mState, AWAITING_CLIENT_CONNECTION);
CHECK(msg->findString("client-ip", &mClientInfo.mRemoteIP));
//.........这里部分代码省略.........
示例10: message_login_fail
message *
message_login_fail::duplicate() {
return new message_login_fail(id(), status());
}
示例11: CHECK_EQ
status_t WifiDisplaySource::onSetupRequest(
int32_t sessionID,
int32_t cseq,
const sp<ParsedMessage> &data) {
CHECK_EQ(sessionID, mClientSessionID);
if (mClientInfo.mPlaybackSessionID != -1) {
// We only support a single playback session per client.
// This is due to the reversed keep-alive design in the wfd specs...
sendErrorResponse(sessionID, "400 Bad Request", cseq);
return ERROR_MALFORMED;
}
AString transport;
if (!data->findString("transport", &transport)) {
sendErrorResponse(sessionID, "400 Bad Request", cseq);
return ERROR_MALFORMED;
}
RTPSender::TransportMode rtpMode = RTPSender::TRANSPORT_UDP;
int clientRtp, clientRtcp;
if (transport.startsWith("RTP/AVP/TCP;")) {
AString interleaved;
if (ParsedMessage::GetAttribute(
transport.c_str(), "interleaved", &interleaved)
&& sscanf(interleaved.c_str(), "%d-%d",
&clientRtp, &clientRtcp) == 2) {
rtpMode = RTPSender::TRANSPORT_TCP_INTERLEAVED;
} else {
bool badRequest = false;
AString clientPort;
if (!ParsedMessage::GetAttribute(
transport.c_str(), "client_port", &clientPort)) {
badRequest = true;
} else if (sscanf(clientPort.c_str(), "%d-%d",
&clientRtp, &clientRtcp) == 2) {
} else if (sscanf(clientPort.c_str(), "%d", &clientRtp) == 1) {
// No RTCP.
clientRtcp = -1;
} else {
badRequest = true;
}
if (badRequest) {
sendErrorResponse(sessionID, "400 Bad Request", cseq);
return ERROR_MALFORMED;
}
rtpMode = RTPSender::TRANSPORT_TCP;
}
} else if (transport.startsWith("RTP/AVP;unicast;")
|| transport.startsWith("RTP/AVP/UDP;unicast;")) {
bool badRequest = false;
AString clientPort;
if (!ParsedMessage::GetAttribute(
transport.c_str(), "client_port", &clientPort)) {
badRequest = true;
} else if (sscanf(clientPort.c_str(), "%d-%d",
&clientRtp, &clientRtcp) == 2) {
} else if (sscanf(clientPort.c_str(), "%d", &clientRtp) == 1) {
// No RTCP.
clientRtcp = -1;
} else {
badRequest = true;
}
if (badRequest) {
sendErrorResponse(sessionID, "400 Bad Request", cseq);
return ERROR_MALFORMED;
}
#if 1
// The older LG dongles doesn't specify client_port=xxx apparently.
} else if (transport == "RTP/AVP/UDP;unicast") {
clientRtp = 19000;
clientRtcp = -1;
#endif
} else {
sendErrorResponse(sessionID, "461 Unsupported Transport", cseq);
return ERROR_UNSUPPORTED;
}
int32_t playbackSessionID = makeUniquePlaybackSessionID();
sp<AMessage> notify = new AMessage(kWhatPlaybackSessionNotify, id());
notify->setInt32("playbackSessionID", playbackSessionID);
notify->setInt32("sessionID", sessionID);
sp<PlaybackSession> playbackSession =
new PlaybackSession(
mNetSession, notify, mInterfaceAddr, mHDCP, mMediaPath.c_str());
looper()->registerHandler(playbackSession);
AString uri;
data->getRequestField(1, &uri);
if (strncasecmp("rtsp://", uri.c_str(), 7)) {
sendErrorResponse(sessionID, "400 Bad Request", cseq);
//.........这里部分代码省略.........
示例12: id
bool DeclarativeDataPluginItem::operator<( const AbstractDataPluginItem *other ) const
{
return other->id()< id() ;
}
示例13: setId
void cChar::Serialize(ISerialization &archive)
{
if (archive.isReading())
{
archive.read("name", orgname);
archive.read("title", title);
archive.read("account", account);
archive.read("creationday", creationday);
archive.read("gmmoveeff", gmMoveEff);
archive.read("guildtype", GuildType);
archive.read("guildtraitor", GuildTraitor);
archive.read("dispz", dispz);
archive.read("cell", cell);
archive.read("dir", dir);
archive.read("race", race);
archive.read("body", xid); setId(xid);
archive.read("skin", skin); xskin = skin;
archive.read("priv", priv);
archive.read("priv3a", priv3[0]);
archive.read("priv3b", priv3[1]);
archive.read("priv3c", priv3[2]);
archive.read("priv3d", priv3[3]);
archive.read("priv3e", priv3[4]);
archive.read("priv3f", priv3[5]);
archive.read("priv3g", priv3[6]);
// end of meta-gm save
archive.read("stablemaster", stablemaster_serial);
archive.read("npctype", npc_type);
archive.read("time_unused", time_unused);
archive.read("allmove", priv2);
archive.read("font", fonttype);
archive.read("say", saycolor);
archive.read("emote", emotecolor);
archive.read("strength", st);
archive.read("strength2", st2);
archive.read("dexterity", dx);
archive.read("dexterity2", dx2);
archive.read("intelligence", in);
archive.read("intelligence2", in2);
archive.read("hitpoints", hp);
archive.read("spawnregion", spawnregion);
archive.read("stamina", stm);
archive.read("mana", mn);
archive.read("npc", npc);
archive.read("holdgold", holdg);
archive.read("shop", shop);
archive.read("own", ownserial);
archive.read("robe", robe);
archive.read("karma", karma);
archive.read("fame", fame);
archive.read("kills", kills);
archive.read("deaths", deaths);
archive.read("dead", dead);
archive.read("packitem", packitem);
archive.read("fixedlight", fixedlight);
archive.read("speech", speech);
archive.read("trigger", trigger);
archive.read("trigword", trigword);
archive.read("disablemsg", disabledmsg);
unsigned int j;
for (j=0;j<TRUESKILLS;j++)
{
char t[256] = {0,};
numtostr(j, t);
string temp = string("skill") + string(t);
archive.read(temp, baseskill[j]);
temp = string("skl") + string(t);
archive.read(temp, lockSkill[j] );
}
archive.read("cantrain", cantrain);
archive.read("att", att);
archive.read("def", def);
archive.read("lodamage", lodamage);
archive.read("hidamage", hidamage);
archive.read("war", war);
archive.read("npcwander", npcWander);
archive.read("oldnpcwander", oldnpcWander);
archive.read("carve", carve);
archive.read("fx1", fx1);
archive.read("fy1", fy1);
archive.read("fz1", fz1);
archive.read("fx2", fx2);
archive.read("fy2", fy2);
archive.read("spawn", spawnserial);
archive.read("hidden", hidden);
archive.read("hunger", hunger);
archive.read("npcaitype", npcaitype);
archive.read("spattack", spattack);
archive.read("spadelay", spadelay);
archive.read("taming", taming);
archive.read("summonremainingseconds", summontimer);
if (summontimer != 0)
summontimer += uiCurrentTime;
archive.read("advobj", advobj);
archive.read("poison", poison);
archive.read("poisoned", poisoned);
//.........这里部分代码省略.........
示例14: to_wkt
bool ogc_geod_datum :: to_wkt(
char buffer[],
int options,
size_t buflen) const
{
OGC_UTF8_NAME buf_name;
OGC_TBUF buf_hdr;
OGC_TBUF buf_ellipsoid;
OGC_TBUF buf_anchor;
OGC_TBUF buf_id;
int opts = (options | OGC_WKT_OPT_INTERNAL);
size_t len = 0;
bool rc = true;
const char * opn = "[";
const char * cls = "]";
const char * kwd = obj_kwd();
if ( (options & OGC_WKT_OPT_PARENS) != 0 )
{
opn = "(";
cls = ")";
}
if ( (opts & OGC_WKT_OPT_TOP_ID_ONLY) != 0 )
opts |= OGC_WKT_OPT_NO_IDS;
if ( buffer == OGC_NULL )
return false;
*buffer = 0;
if ( !is_visible() )
return true;
rc &= ogc_ellipsoid :: to_wkt(_ellipsoid, buf_ellipsoid, opts, OGC_TBUF_MAX);
rc &= ogc_anchor :: to_wkt(_anchor, buf_anchor, opts, OGC_TBUF_MAX);
ogc_string::escape_str(buf_name, _name, OGC_UTF8_NAME_MAX);
sprintf(buf_hdr, "%s%s\"%s\"",
kwd, opn, buf_name);
OGC_CPY_TO_BUF( buf_hdr );
OGC_ADD_TO_BUF( buf_ellipsoid );
OGC_ADD_TO_BUF( buf_anchor );
if ( _ids != OGC_NULL && (options & OGC_WKT_OPT_NO_IDS) == 0 )
{
for (int i = 0; i < id_count(); i++)
{
rc &= ogc_id :: to_wkt(id(i), buf_id, opts, OGC_TBUF_MAX);
OGC_ADD_TO_BUF( buf_id );
if ( (options & OGC_WKT_OPT_OLD_SYNTAX) != 0 )
break;
}
}
OGC_CPY_TO_BUF( cls );
if ( (options & OGC_WKT_OPT_INTERNAL) == 0 &&
(options & OGC_WKT_OPT_EXPAND) != 0 )
{
rc &= ogc_utils :: expand_wkt(buffer, buffer, "", options, buflen);
}
return rc;
}
示例15: TEST_F
TEST_F(PageIOTestEnv, test_alloc_one) {
auto p = m_page_io->alloc();
EXPECT_NE(0, p.id());
}