extern size_t RequestReadBLOB( NETFILE *fp, MonObjectType obj, unsigned char **ret, size_t *size) { unsigned char *buff; size_t red; ENTER_FUNC; red = 0; *ret = NULL; RequestBLOB(fp,BLOB_READ); ON_IO_ERROR(fp,badio); SendObject(fp,obj); ON_IO_ERROR(fp,badio); if ( RecvPacketClass(fp) == BLOB_OK ) { *size = RecvLength(fp); ON_IO_ERROR(fp,badio); if ( *size > 0 ) { buff = xmalloc(*size); red = Recv(fp,buff,*size); *ret = buff; } } badio: LEAVE_FUNC; return (red); }
OFCondition Association::SendObject(DcmFileFormat *dcmff) { if (Stopped()) { return DUL_NETWORKCLOSED; } DcmDataset* dataset = dcmff->getDataset(); return SendObject(dataset); }
extern Bool RequestDestroyBLOB( NETFILE *fp, MonObjectType obj) { Bool rc; ENTER_FUNC; rc = FALSE; RequestBLOB(fp,BLOB_DESTROY); ON_IO_ERROR(fp,badio); SendObject(fp,obj); ON_IO_ERROR(fp,badio); if ( RecvPacketClass(fp) == BLOB_OK ) { rc = TRUE; } badio: LEAVE_FUNC; return (rc); }
extern size_t RequestWriteBLOB( NETFILE *fp, MonObjectType obj, unsigned char *buff, size_t size) { size_t wrote; ENTER_FUNC; wrote = 0; RequestBLOB(fp,BLOB_WRITE); ON_IO_ERROR(fp,badio); SendObject(fp,obj); ON_IO_ERROR(fp,badio); if ( RecvPacketClass(fp) == BLOB_OK ) { SendLength(fp,size); ON_IO_ERROR(fp,badio); if ( size > 0 ) { Send(fp,buff,size); ON_IO_ERROR(fp,badio); wrote = RecvLength(fp); ON_IO_ERROR(fp,badio); } } badio: LEAVE_FUNC; return (wrote); }
extern Bool RequestExportBLOB( NETFILE *fp, MonObjectType obj, char *fname) { Bool rc; char buff[SIZE_BUFF]; FILE *fpf; size_t size , left; ENTER_FUNC; rc = FALSE; RequestBLOB(fp,BLOB_EXPORT); ON_IO_ERROR(fp,badio); SendObject(fp,obj); ON_IO_ERROR(fp,badio); if ( RecvPacketClass(fp) == BLOB_OK ) { if ( ( fpf = Fopen(fname,"w") ) != NULL ) { fchmod(fileno(fpf),0600); left = RecvLength(fp); while ( left > 0 ) { size = ( left > SIZE_BUFF ) ? SIZE_BUFF : left; Recv(fp,buff,size); ON_IO_ERROR(fp,badio); fwrite(buff,size,1,fpf); left -= size; } fclose(fpf); rc = TRUE; } else { Warning("could not open for write: %s", fname); } } badio: LEAVE_FUNC; return (rc); }
void SendObject(connection * s, amf3object & object) { if (s == 0) return; SendObject(*s, object); }
OFCondition Association::SendObject(DcmFileFormat *dcmff) { DcmDataset* dataset = dcmff->getDataset(); return SendObject(dataset); }
void WSL::Singleton::GetObject( unsigned int id, int objID, int componentID ) { SendObject( id, objID, componentID ); }